JPA 3

[Spring] JPA Entity 복합키 설정/EmbededId

USER가 ITEM을 북마크할 때 데이터베이스 스키마를 아래와 같이 작성할 수 있다! BOOKMARK의 PK는 uid와 item_id 값이 되는데 JPA에서는 복합키 설정을 위해서 @EmbededId를 사용한다! User.java @Entity @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; private String username; private String password; private String email } Item.java @Entity @Getter @Setter @AllA..

카테고리 없음 2021.09.26

[Spring/JPA] 연관관계 매핑

*인프런 김영한 강사님의 JPA 로드맵 강좌를 기반으로 정리한 내용입니다! 연관관계 매핑 관계형 DB 테이블에서는 FK를 통해 양방향으로 조회를 할 수 있습니다. 교수, 수업 이 두가지 테이블를 예시로 사용하겠습니다. - 교수님은 여러 수업의 강의를 맡을 수 있습니다. - 한 수업에는 한 교수님이 강의를 맡으십니다. [Table] 현재 수업을 담당하는 교수님을 알고 싶다면 select * from CLASSES c join PROFESSOR p on c.professor_id = p.professor_id; 교수님이 담당하는 모든 수업을 알고 싶다면 select * from PROFESSOR p join CLASSES c on p.professor_id = c.professor_id; 이렇게 FK를 이용..

Develop/Spring 2020.12.20

[Spring/JPA] 영속성(persistence)

*인프런 김영한 강사님의 JPA 로드맵 강좌를 기반으로 정리한 내용입니다! 영속성 persistence의 사전적 의미는 '지속됨'입니다. 컴퓨터 공학에서 영속성이란 데이터를 생성한 프로그램이 종료되더라도 데이터가 유지되는 것을 의미합니다. 영속성 컨텍스트 영속성 컨텍스트를 '엔티티를 저장하는 환경'이라고 이해할 수 있습니다. 동작원리 EntityManagerFactory는 Entity Manager을 관리합니다. (하나의 Java Application에 하나의 EMF 존재) Entity Manager를 통해 Persistence Context에 접근합니다. 엔티티 매니저와 영속성 컨텍스트는 N:1이거나 1:1 관계이지만 저는 스프링 프레임워크를 사용하므로 N:1 관계입니다! 사용법 @Persistence..

Develop/Spring 2020.12.15