@Entity

public class Customer {

   @OneToMany(cascadeType.ALL, orphanRemoval = true)

   @JoinColumn(name = "customer_id")

   private Set<Address> addresses;

}


1. CascadeType.ALL

Entity를 저장/수정/삭제 할 때 Addresses도 똑같이 저장/수정/삭제된다. 다만, Database레벨에서 이루어지는것이 아니라 JPA persistence provider에 의해서 이루어진다.


2. orphanRemoval = true

collection에서 Address가 삭제되는 경우 database에서도 address row를 삭제한다.


결과적으로 위와 같은 설정의 경우 Address객체의 lifeCycle은 Customer 객체에 의해서 결정되는 전형적인 composition 관계가 된다.

Posted by 용식
TAG JPA

QueryDSL Official Doc

JPA 2014.08.06 14:19

http://www.querydsl.com/static/querydsl/3.4.2/reference/ko-KR/html/

Posted by 용식
TAG queryDSL

Java7부터 제공되는 API로 int 형 비교때는 이걸 사용하자..


Integer.compare(int x, int y)


x - y로 계산 할 경우 오버플로우 가능성이 존재함.

Posted by 용식
Posted by 용식
TAG JPA, queryDSL
Posted by 용식
TAG JPA, queryDSL
Posted by 용식
Posted by 용식
TAG JPA