2016년 3월 23일 수요일

[JPA강좌]JPA에서 Owner쪽과 Inverse쪽의 차이(엔티티매핑)

아래의 경우 A가 Owner이다.(A쪽은 Owning Side, B쪽은 Inverse Side)

@Entity
class A {
   @Id int id;

   @OneToOne
   B b;
}

@Entity
class B {
   @Id int id;

   @OneToOne(mappedBy="b")
   A a;
}


A a = em.find(A.class, aId);
B b = em.find(B.class, bId);
a.setB(b);

A가 Owner이므로 JPA에서는 A의 조인칼럼안의 B의 ID를 연관지어서 저장한다.

아래와 같은 경우를 보자.

A a = em.find(A.class, aId);
B b = em.find(B.class, bId);
b.setA(a);

A가 Owner 이므로 DB에는 아무런 변경사항이 저장되지 않는다.

댓글 없음:

댓글 쓰기