dev/JPA (11) 썸네일형 리스트형 Spring Boot JPA Join 스프링 부트에서 JPA를 통해 테이블 join을 구현하는 것은 DB 외래키로 하는 것과 많이 다릅니다. DB는 외래키 하나로 테이블 양방향 참조가 가능하지만 JPA는 테이블을 객체로 매핑하기 때문에 추가로 작업을 해야 합니다. 예제로 만든 직원 테이블과 출퇴근 테이블입니다. 출퇴근 테이블의 employee_id 컬럼이 직원 테이블의 id 컬럼을 참조하고 있습니다. 출퇴근 테이블과 직원 테이블은 다대일 양방향 관계이기 때문에 출퇴근 테이블이 참조키를 가지고 있고 연관관계의 주인입니다. 출퇴근 엔티티 클래스가 외래키 필드를 가지고 있고, 연관관계 주인임을 나타내고 있습니다.(32~35라인) 출퇴근 엔티티와 직원 엔티티는 서로 참조할 수 있도록 연관관계 편의 메소드 setEmployee를 작성합니다.(53~6.. Spring Boot JPA 복합키 스프링 부트에서 JPA를 통해 테이블의 기본키가 복합키인 경우 구현하는 방법입니다. 예제로 만든 급여 테이블의 DDL입니다. 기본키가 직원 아이디와 급여 날짜로 구성되어 있습니다. salary와 status 컬럼은 급여액과 급여 상태를 각각 가리키고 있습니다. 복합키를 구현하는 방법은 @IdClass와 @EmbeddedId 2가지를 통해서 할 수 있는데 저는 @EmbeddedId를 사용해서 구현했습니다. 식별자 클래스 코드에 대해 설명하면 @Data 어노테이션을 통해 lombok 라이브러리를 통해 getter, setter, toString 메소드 등을 자동 생성합니다.(15라인) @NoArgsConstructor 어노테이션으로 기본 생성자를 생성합니다.(16라인) @Embeddable 어노테이션으로 해.. Spring Boot Data JPA Spring Boot Data JPA를 사용하는 방법입니다. 간단히 진행할 예정이라 Maven Profile, Logger, Transaction 등등 설정은 제외했습니다. 먼저 Spring Boot 프로젝트를 생성합니다. 따로 작성하지 않고 디폴트 설정으로 하고 Next 버튼 클릭합니다. 현재 설치되어 있는 jdk 버전에 따라 Spring Boot 버전을 선택해야 하는데 저는 openJdk 1.8 버전이므로 Spring Boot 2 버전으로 선택했습니다. 그리고 HIbernate 연동하기 위해 Maven dependency의 Lombok, Spring Data JPA, PostgreSQL Driver, Spring Web을 추가하고 Finish 버튼 클릭합니다. pom.xml에서 Spring Boot버.. 이전 1 2 다음