๊ทธ ์ ๊น์ง๋ api์์ ์ง์ userid๋ฅผ ๊ฑด๋ด๊ณ JPA CRUD FindByUserId๋ฅผ ํตํด ์ ์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์์๋ค. ํ์ง๋ง ํ์๊ฐ์
์ ํ๊ณ , ๋ก๊ทธ์ธ์ ํ๊ฒ ๋๋ฉด token์ ์ ๊ณตํ๋ ๋ฐฉ์์ผ๋ก UMC APP API๋ฅผ ํ์๋ถ๊ป์ ์์ฑํด์ฃผ์
จ๋ค. ๊ทธ๋ ๋ค๋ฉด, token(authorization์ ์๋)๋ฅผ ๊ณ์ ์ฌ์ฉํด์ json์ ๋ฐ์์์ผํ๋ ์ํฉ์์๋ userId๋ฅผ ๋ณด๋ด์ง ์๊ณ jwt๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ง ์์๊นํ๋ ์๋ฌธ์ด ๋ค์๋ค. ์ด์ ๋ฐ๊ฒฌํ๊ฒ ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ ์ค, ๐ป๋์๋ฆฌ ์ฑ ํ๋ก์ ํธ์์๋ Principal์ ์ฌ์ฉํ๊ฒ ๋์๋ค. (@AuthenticationPrincipal ์ด๋ SecurityContextHolder, Authentication ๋ชจ๋ ์ฌ์ฉํ๋๋ฐ ์๋ฌ ๋จ,, ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์,,..
Backend Language
Repository์์ findBy ์์ฑํ๊ณ , ์ดํ์ List๋ฅผ ํตํด ๊ฐ์ ๋ชจ๋ ๋ถ๋ฌ์ฌ ๋ ๋ชจ๋ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ค. ํ์ง๋ง, User์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฐ์ธ ์ ๋ณด๊ฐ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด์ ์ด๋ฅผ ๋ฐฉ์งํ๊ณ ์ํ๋ค. ๋ชจ๋ ๊ฐ์ด ๋ถ๋ฌ์ ธ์ค๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. @Getter @Entity @NoArgsConstructor @Table(name="user") public class UserEntity{ @Id @GeneratedValue private Long userIdx; @Column(nullable = false, length = 100) private String nickName; @Column(nullable = false, length = 100) private String user..
Spring boot์์ Entity๋ฅผ ์์ฑํ ํ, @Setter๋ฅผ ํตํด setter ํจ์๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ๋ค๋ฅธ class์์๋ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ์ ๋ณด์์ ์ผ๋ก๋ ์ข์ง ์๋ค. (์ฌ์ฉ์ ๊ฐ๋ฅํ์ง๋ง, ์ง์ํ๋ ๊ฒ์ด ์ข๋ค.) ๊ทธ๋ ๋ค๋ฉด @Setter ๋์ ์ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ ๊น? @Getter @Entity @NoArgsConstructor @Table(name="user") public class UserEntity{ @Id @GeneratedValue private Long userIdx; @Column(nullable = false, length = 100) private String nickName; @Column(nullable = false, length = 100) p..
๐ปUMC ํ๋์ ํ๋ฉด์ JPA๋ก Database DML ์์
์ ํ๋ ์ค, @Id ์ด๋
ธํ
์ด์
์ ํ ํด๋์ค์ ์ฌ๋ฌ๊ฐ๋ฅผ ์์ฑํ๋ ์ค๋ฅ๊ฐ ๋ฌ๋ค๐ฉ ๊ตฌ๊ธ๋ง ํด๋ณด๋, 2๊ฐ ์ด์์ composite primary key์์๋ @IdClass ํน์ @EmbeddedId๋ฅผ ์ฌ์ฉํด์ผํ๋ค๊ณ ํ๋ค.....(๋ณต์กํด ์ผ์ ๐) ๋๋ ๊ทธ ์ค์์๋ ๊ทธ๋๋ง ์ข ๊ฐ๋จํด๋ณด์๋ @EmbeddedId๋ฅผ ์ฌ์ฉํด๋ณด๊ณ ์ ํ๋ค..(์ ๋ฒ์ ๊ทธ๋๋ ๊ณต๋ถ ํด๋ด์ Embedded ๊ฐ๋
์ ์๊ธฐ์,,) Course Strong Entity์ Section Week Entity๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. Section table์์๋ ์์ ์ ๋ํ๋ด๋ identifier attribute์ Course์ PK๊ฐ ๋ชจ๋ PK๋ก ์ ์ฅ๋๋ Composite PK ์ผ ๊ฒ์ด๋ค. ์ด..
1. ์ฐ๊ด๊ด๊ณ ์ด๋
ธํ
์ด์
-> [์ถ์ฒ] one to one: ์ผ๋์ผ ๋งคํ one to many: ์ผ๋๋ค ๋งคํ many to one: ๋ค๋์ผ ๋งคํ 2. Many to One Mapping User์ OrderLine์ด 1:n์ ๊ด๊ณ์ด๋ฉด, OrderLine Table์ @ManyToOne ์ด๋
ธํ
์ด์
์ ์์ฑํด์ผ ํ๋ค. @ManyToOne(fetch = FetchType.LAZY) FetchType.EAGER [์ฆ์๋ก๋ฉ]๋ ์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ๋ฐ๋ก ์กฐํํ๋ค. ์ค์ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ๋์ง ์๋๋ผ๋ ์กฐํ๋ฅผํ๋ค. FetchType.LAZY [์ง์ฐ๋ก๋ฉ]์ ์ค์ ์ฌ์ฉ ์์ ์ ์กฐํํ๋ค. @JoinColumn(name="FK") ์ธ๋ํค ๋งคํ์ ์ฌ์ฉ @ManyToOne(optional =True) : FK๋ Null (Total par..
UMC ์ฑ ๋ฐ์นญ ํ๋ก์ ํธ์์ JPA๋ฅผ ์ฌ์ฉํ๊ธฐ๋กํ๋ค. Jdbc๋ ์ฌ์ฉํด๋ดค์ง๋ง, JPA๋ ์ฒ์์ด๊ธฐ ๋๋ฌธ์ ๊ณต๋ถํด๋ณด๊ณ ์ ํ๋ค. (Jdbc ์ฌ์ฉ๋ณด๋ค, Jpa ์ฌ์ฉํ๋๊ฒ ์ ๋ง ๊น๋ํด๋ณด์๋ค. ๊ทผ๋ฐ JPA๊ฐ ์ข ๋ ์ด๋ ค์ ๋ณด์ฌ,,,,,) ์ค๋ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐ๋ก, JPA๋ก Spring boot์ Entity ์์ฑํ๊ณ ๊ด๊ณ ์ค์ ํ๋ ๊ฒ!! 1. JPA: ORM(Object Relational Mapping) Framework ORM์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์๋ก ํธํ๋์ง ๋๋๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ ๊ฒ์ ์๋ฏธ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ 2. Spring boot ์์์ JPA ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ง -> H2 Database JPA ์ค์ Lombok ์ค์ -> JPA ์ค์ ๋ถํฐ Lo..
โป ํด๊ฒฐ ๋ด์ฉ์ ๋งจ ๋ง์ง๋ง์ ์์ โป ๊ฐ์ฒด์งํฅ์ ์ฌ๊ณ ์ ํ๋ก๊ทธ๋๋ฐ ์์
์ ๋ฃ๋ ์ค ์ด์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์๋ค. ๊ต์๋์ด ์ค๋ช
ํด์ฃผ์ ์ฝ๋๋ฅผ ๋๊ฐ์ด ์์ฑํ๋๋ฐ, ๋๋ง ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. ํนํ @RestController๋ฅผ ์ฃผ์์ฒ๋ฆฌ ํด์ ํ๊ณ ์งํํ๋๋ ๋ฐ์ํ ์ค๋ฅ์๋ค,,, ( ๊ทธ ์ ์๋ ์๋ง ๋๋๋ฐ,, ์๊ทธ๋ ค,,) ์ค๋ฅ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-12-02 13:15:47.039 ERROR 28612 --- [ main] o.s.boot.SpringApplication : Application ru..
ํ๊ต์์ DB ์ค๊ณ ๋ฐ ๊ตฌํ2 ์์
์ ๋ค์ผ๋ฉด์ Oracle DBMS๋ก ์ค์ต์ ์งํํ๊ณ ์ ํ์๋ค. Oracle DBMS๋ฅผ ์ค์นํ๋ ๊ณผ์ ์์์ ํ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค. 'ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค.' ๋ผ๋ ๋ฌธ๊ตฌ์ ํจ๊ป ์ค์น ์ค๋ฅ๊ฐ ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ๋์๋กญ๊ฒ ์๊ฐํ์ง ์๊ณ ๊ฑด๋๋ฐ๊ธฐ๋ฅผ ํ๋ฉด์ ์ค์น๋ฅผ ์งํํ๋ ค๊ณ ํ๋๋ฐ, ๊ตฌ๊ธ๋ง์ ํ๋ ์ด ๊ฒ์ ๊ฑด๋ ๋ฐ๊ณ ํ๋ฉด ์ค์ต์ ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค๊ณ ๋์ด ์์๋ค. ๋ํ 44%์์ ์ค์น ์งํ์ด ๋ฉ์ถฐ์ ์ค์น๊ฐ ๋์ง ์์๋ค. ์๊ฐ์ ํด๋ณด๋, ๋ ํ์ผ์ ์์ถ ํด์ ํ ๋ ๊ต์๋๊ป์ 'ํ๋์ ๊ฒฝ๋ก๋ก ๋ง๋์ธ์'๋ผ๋ ๋ง์ ์๊ฐํ์ง ์๊ณ ๊ฐ์ ๋ฐ๋ก๋ฐ๋ก ๋ฃ์ด๋จ์๋ค.. ์ด ๋ ์์ถ ํ์ผ์ ํด์ ํ๋ฉด ํ์ผ ์์ 'database' ํ์ผ์ด ์์ ๊ฒ์ด๋ค. V77408-01_2of2์ dat..
ํ๊ต ์ ๊ณต ์์
์๊ฐ์ Sping boot๋ฅผ ์ฌ์ฉํ๋ฉด์, Httpie๋ฅผ ์ค์น๋ฅผ ํด์ผ๋ง ํ๋ค. Mac OS์์๋ ๋ค์ด๋ก๋๊ฐ ์ฝ์ง๋ง, Winodw OS์์๋ Python์ด ์ค์น๋์ด ์์ง ์์ ์ค์น๊ฐ ์ฉ์ดํ์ง ์๊ธฐ ๋๋ฌธ์ Winodw OS์์ Httpie๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์์ฑํ๊ณ ์ ํ๋ค. https://luji.tistory.com/99 httpie Windows์์ ์ค์นํ๊ธฐ httpie๋? ํ์ด์ ์์ ๊ฐ๋ฐ๋ ์ ํธ๋ฆฌํฐ๋ก http ๊ฐ๋ฐ์ด๋ ๋๋ฒ๊น
์ฉ๋๋ก ์ฌ์ฉ๋๋ค. ์ฌ์ฉ์ฑ์ด ์ฌ์ฐ๋ฉด์ json์ด ๋ด์ฅ๋์ด์๋ค. ๊ฐ๋
์ฑ์ด ๋ฐ์ด๋๋ฉฐ ๊ธฐํ ์ฅ์ ๋ค์ด ์์. ๋ณดํต ๋ฆฌ๋
์ค๋ ๋งฅ์์ yum, apt, bre luji.tistory.com ์ด ๋ธ๋ก๊ทธ๋ฅผ ํตํด์ Httpie ์ค์น๋ฅผ ์งํํ๋ค. 1. ๋ฐ ๋งํฌ์ ๋ค์ด๊ฐ์ Python์ ..
โปํด๊ฒฐ ๋ฐฉ๋ฒ๋ถํฐ ๋ณด๊ณ ์ถ์ ์ฌ๋๋ค์ ๋ฐ๋ก ๋ง์ง๋ง์ผ๋ก ๋ด๋ ค๊ฐ์ธ์!!โป ํ๊ต ์์
์์ ์งํํ๋ Spring boot ๊ณผ์ ์ํ ์, ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค. 2021-11-08 16:02:17.715 ERROR 9912 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field cart in com.example.PetAppMidterm.Application required a bean of type 'com.example.PetAppMidterm.PetRepository' that c..