JPA
-
연관관계 매핑 - 단방향, 양방향 연관관계JPA/JPA 기본 2023. 7. 11. 18:03
연관관계가 필요한 이유 : 하나의 객체가 단독으로 존재하는 경우는 드물기 때문에 객체(또는 엔티티) 끼리의 연관관계를 통해 데이터를 주고받아야 한다. 단방향 매핑 Member와 Team을 보면 연관관계 매핑이 되어있는데, 양방향이 아니라 단방향으로 멤버가 Team을 가리키고 있다. 그리고 이 경우에는 일대 다 연관관계 상황이며 Team 하나에 Member가 여러명 들어갈 수 있다. Member 엔티티 @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; } Team하나에 Member가..
-
영속성 컨텍스트JPA/JPA 기본 2023. 7. 11. 18:03
영속성 컨텍스트란 엔티티를 영구 저장하는 환경이라는 뜻이다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하는데, 엔티티 매니저를 생성하면 영속성 컨텍스트가 생기게 된다. JPA의 내부가 어떻게 동작하는지에 대한 내용이 영속성 컨텍스트라 할 수 있다. 엔티티의 생명주기 비영속 : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속 : 영속성 컨텍스트에 관리되는 상태 준영속 : 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제 : 삭제된 상태 영속 상태로 만들어주는 방법은 2가지가 있다. 첫 번째로 persist를 하는 것이고, 두 번째로 1차 캐시에 없는 엔티티를 find로 찾아오게 되면 자동으로 1차 캐시에 넣어주면서 영속 상태가 되는 것이다. 영속성 컨텍스트의 이점 1차 캐시 동일성 보장 트랜잭션을 ..