본문 바로가기

JPA

CascadeType.ALL, orphanRemoval = true @Entitypublic class Customer { @OneToMany(cascadeType.ALL, orphanRemoval = true) @JoinColumn(name = "customer_id") private Set addresses;} 1. CascadeType.ALLEntity를 저장/수정/삭제 할 때 Addresses도 똑같이 저장/수정/삭제된다. 다만, Database레벨에서 이루어지는것이 아니라 JPA persistence provider에 의해서 이루어진다. 2. orphanRemoval = truecollection에서 Address가 삭제되는 경우 database에서도 address row를 삭제한다. 결과적으로 위와 같은 설정의 경우 Address객체의 lifeCycle은 Cu.. 더보기
[QueryDSL] group by with Tuple Sample 더보기
[JPA] QueryDSL로 쿼리 작성시 주의 사항 더보기
[JPA] Pro JPA2 study - Chapter 2 더보기
[gradle] spring-data-jpa gradle test fail CMD를 진행하면서 예전에 셋팅했던 기억을 되살려 프로젝트 셋팅을Spring-data-JPA + Hibernate로 그리고 gradle을 사용해서 셋팅을 하였다.local에서는 embeded HSQLDB를 사용해서 메모리에 올려서 작동하도록 구성을 하였는데이클립스에서는 간단한 JPARepository Testcase가 제대로 잘 동작을하는데 (save, findAll 등)터미널에서 gradle build 명령을 실행하면 build도중 testcase가 실패하는 문제가 발생하였다. 에러메시지는 @Entity annotation을 달고있는 Entity 클래스가 JPA에 의해서 관리되지 않는 Entity다.. 뭐 이런 메시지.. 몇번을 뒤적거리다 원인을 stackoverflow에서 찾을 수 있었다. http:.. 더보기