Whiteship's Note

Union을 사용한 다형적인 연관

Hibernate/Chapter 7 : 2008.02.20 18:31


특징

  • Table Per Subclass와 Table Per Class Hierarchy에서의 다형적인 연관을 확인했다.
  • Table Per Concrete Class With Union에서도 똑같이 적용된다.
콜렉션 테스트
@Test
public void oneTomanyConfirm() throws Exception {
Session session = sessionFactory.openSession();

User user = (User) session.get(User.class, 1l);
Set<BillingDetails> bds = user.getBilllingDetailses();
for(BillingDetails bd : bds){
System.out.println("..");
}

session.flush();
session.close();
}
단일 클래스 연관 테스트
@Test
public void oneToOneConfirm() throws Exception {
Session session = sessionFactory.openSession();

User user = (User) session.get(User.class, 1l);
BillingDetails bd = user.getDefaultBillingDetails();
bd.pay();

session.flush();
session.close();
}
  • @OneToOne 이나 @ManyToOne으로 상위 타입과 연관을 맺고 있을 때, 외례키 제약은 하이버네이트가 만들어 줄 수 없다. 왜? 어떤 하위 클래스의 주키를 외례키로 가져야 하는지 판단하는게 쉽지 않다. 따라서 사용자가 적당한 제약 사항을 만들어야 한다.
top

Write a comment.




: 1 : 2 : 3 : 4 : 5 : 6 : 7 : ··· : 15 :