๋ฐ์ํ Spring/Spring Data JPA3 JPQL @Query ์๋ฌ: For queries with named parameters you need to use provide names for method parameters ๐ For queries with named parameters you need to use provide names for method parameters Spring Data JPA์์ ์๋ Entity๋ฅผ ํตํด ์กฐํ๋ฅผ ํ๋ ค๋๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. (email์ ๋ํ ๋ฐ์ดํฐ๋ DB์ ์กด์ฌํฉ๋๋ค.) import ... @Entity @Builder @NoArgsConstructor @AllArgsConstructor @Getter @ToString public class ClubMember extends BaseEntity { @Id private String email; @Column private String password; @Column private String name; @Column pri.. 2021. 7. 6. JPA ์ฐ๊ด๊ด๊ณ ์์์ฑ ์ ์ด(CASCADE) - CascadeType ๐ JPA ์์์ฑ ์ ์ด(CASCADE) ์๋ ํ์ธ์! ์ด๋ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ JPA์์ ์์์ฑ ์ ์ด(CASCADE)์ ๊ด๋ จ๋ ๋ด์ฉ์ ๋๋ค. ์ต๊ทผ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ๋ ์ฐ๊ด๋ ์ํฐํฐ์์ save()๋ฅผ ํ๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ , ์ด๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์์ ์์์ฑ ์ ์ด(CASCADE)๋ผ๋ ๊ฐ๋ ์ ๋ํด ์๊ฒ ๋์๊ณ , ์ด๋ฅผ ์ ๋ฆฌํ๊ณ ์ ํฉ๋๋ค. ๐ (โป ์๋ชป๋ ๋ด์ฉ์ด ํฌํจ๋์ด ์์์๋ ์์ต๋๋ค. ์๋ชป๋ ๋ถ๋ถ์ ๋ํด ์ง์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค ๐) ๐ฏ ์์์ฑ์ ์ด(CASCADE)๋ ? ๋ถ๋ชจ ์ํฐํฐ๊ฐ ์์ํ๋ ๋ ์์ ์ํฐํฐ๋ ๊ฐ์ด ์์ํ๋๊ณ , ๋ถ๋ชจ ์ํฐํฐ๊ฐ ์ญ์ ๋ ๋ ์์ ์ํฐํฐ๋ ์ญ์ ๋๋ ๋ฑ ํน์ ์ํฐํฐ๋ฅผ ์์ ์ํ๋ก ๋ง๋ค ๋ ์ฐ๊ด๋ ์ํฐํฐ๋ ํจ๊ป ์์ ์ํ๋ก ์ ์ด๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฆ, ํน์ ์ํฐํฐ์ ๋ํด ํน์ ํ ์.. 2021. 6. 21. Spring Data JPA ์ฆ์ ๋ก๋ฉ(Eager Loading) & ์ง์ฐ ๋ก๋ฉ(Lazy Loading) ๐ JPA - @ManyToOne ์ฆ์ ๋ก๋ฉ๊ณผ ์ง์ฐ ๋ก๋ฉ(Eager Loading / Lazy Loading) Spring Data JPA์์ @ManyToOne(N:1)์ผ๋ก ์ฐ๊ด๊ด๊ณ๊ฐ ์ค์ ๋์ด ์๋ 2๊ฐ์ Entity๊ฐ ์กด์ฌํ ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ์์ ๋ณด๋ฉด join์ด ํ์ํฉ๋๋ค. ์ค์ @ManyToOne์ ๊ฒฝ์ฐ FK์ชฝ์ ์ํฐํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ PK์ชฝ์ ์ํฐํฐ๋ ๊ฐ์ด ๊ฐ์ ธ์ค๊ฒ ๋๋๋ฐ์, ์ด๋ฌํ ๊ณผ์ ์ด ๊ผญ ํ์ํ๊ฑด์ง, ํ์ํ์ง ์๋ค๋ฉด ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง ์ฆ์ ๋ก๋ฉ๊ณผ ์ง์ฐ ๋ก๋ฉ์ ๋ํด ์์ ๋ฅผ ํตํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. โจ๏ธ Board, Member ์ํฐํฐ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import .. 2021. 6. 17. ์ด์ 1 ๋ค์ ๋ฐ์ํ