JAVA/JPA9 [JPA] 상속 관계 매핑 전략 (조인 전략 / 단일 테이블 전략 / 구현 클래스마다 테이블 전략 / MappedSuperClass) 객체의 상속 관계를 JPA에 적용시키는 3가지 전략을 정리해봤다. 부모 객체는 Employee고 id와 name을 갖는다. 자식 객체는 FullTimeEmployee와 PartTimeEmployee로 구성한다. 전략을 비교하기 전 기본적인 코드부터 작성하겠다 Employee 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Getter @Setter @Entity public abstract class Employee { @Id @GeneratedValue private Long id; pri.. 2022. 12. 1. [Batch Insert] 대량 데이터 Insert 성능 최적화 (JPA batch size / JDBCTemplate batch Insert / Mybatis batch Insert) 업무 중 약 15만건의 데이터를 하루 한번 insert 해야 하는 일이 생겼다. 받아온 데이터를 그대로 DB에 저장하는게 아니라 후속 처리도 있고 연관 관계까지 신경쓰니 성능이 문제가 되었다. 성능을 줄이기 위해 여러 방법을 적용해봤는데 이를 블로깅해두면 좋을거 같아 정리해봤다. 라이브러리 spring boot data jpa lombok mybatis spring boot starter postgresql 데이터로는 공공데이터포털에서 REST API 제공하는 것 중 하나를 선택했다. https://www.data.go.kr/ 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수.. 2022. 11. 7. [JPA] ManyToMany 연관관계 (mappedby / fetchType) 🎫 OneToOne 연관관계 2022.10.14 - [Backend/JPA] - [JPA] OneToOne 연관관계 (mappedby / fetchType) 🎫 OneToMany, ManyToOne 연관관계 [JPA] ManyToOne, OneToMany 연관관계 (mappedby / fetchType) (tistory.com) 이번에는 다대다 관계 ManyToMany이다. 이번에는 Course와 Student 엔티티를 만들어줬다. 하나의 강의에는 여러명의 학생들이 들을 수 있고 한 학생은 또 여러개의 강의를 들을 수 있다. Course 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3.. 2022. 10. 26. [JPA] ManyToOne, OneToMany 연관관계 (mappedby / fetchType) 🎫 OneToOne 연관관계 [JPA] OneToOne 연관관계 (tistory.com) 이번에는 제일 흔한 연관관계인 ManyToOne, OneToMany 연관관계이다. 이 연관관계는 1대 다 관계인 관계고 역시 FK로 연결되어 있다. 이번에는 Course와 Review 엔티티를 만들어줬다. 하나의 강의에는 여러개의 리뷰를 가진다. 강의는 1 리뷰는 多 의 연관관계가 된다. Course 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 import lombok.AllArgsConstructor; i.. 2022. 10. 18. 이전 1 2 3 다음