엔티티// Non Owner Entity@Entitypublic class Post { @Id @Column(name = "post_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String title; private String content; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(Str..
JPA/JPA 정리
양방향 조회엔티티@Entitypublic class Passport { @Id @Column(name = "PASSPORT_ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String number; @OneToOne(mappedBy = "passport", cascade = CascadeType.ALL, fetch = FetchType.LAZY) private Person person; public Person getPerson() { return person; } public void setPerson(Person person) { ..
이번 시간에는 조회, 저장, 수정 삭제 (CRUD) 시 영속성 컨텍스트에서 어떻게 동작하는지 알아보려고 한다.영속성 컨텍스트 - 조회1차 캐시에서 조회em.find()를 하면 jpa는 우선 1차 캐시에서 엔티티를 조회한다. 1차 캐시에 값이 있을 경우 해당 값을 조회한다.Member member = new Member();member.setId("member1");member.setUsername("회원1");//1차 캐시에 저장됨em.persist(member);//1차 캐시에서 조회Member findMember = em.find(Member.class, "member1");데이터베이스에서 조회1차 캐시에서 우선 조회하고 값이 없을 경우 데이터베이스에서 값을 조회한다.조회한 값은 1차 캐시에 저장한다..