사용자 도구

사이트 도구


java:jpa:association

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:jpa:association [2018/09/10 12:31]
kwon37xi
java:jpa:association [2020/11/12 14:53] (현재)
kwon37xi [Entity Graph / JPA 2.1]
줄 3: 줄 3:
   * [[java:jpa:map|JPA Map]]   * [[java:jpa:map|JPA Map]]
  
-====== 관계 =====+===== 관계 ====
   * [[https://www.baeldung.com/jpa-join-column|@JoinColumn Annotation Explained | Baeldung]]   * [[https://www.baeldung.com/jpa-join-column|@JoinColumn Annotation Explained | Baeldung]]
     * ''@JoinColumns''로 복합키 조인도 처리 가능     * ''@JoinColumns''로 복합키 조인도 처리 가능
-===== Entity Graph / JPA 2.1 ===== 
-  * [[https://www.youtube.com/watch?v=Dr5Qn6NC-3Y|5 ways to initialize lazy associations and when to use them - YouTube]] 
-  * [[https://www.thoughts-on-java.org/jpa-21-entity-graph-part-1-named-entity/|JPA 2.1 Entity Graph - Part 1: Named entity graphs - Thoughts on Java]] 
-  * [[https://www.thoughts-on-java.org/jpa-21-entity-graph-part-2-define/|JPA 2.1 Entity Graph - Part 2: Define lazy/eager loading at runtime - Thoughts on Java]] 
-  * TODO Spring Data 에서 Entity Graph 
  
 +===== to-many 주의 =====
 +  * ''to-many'' 관계에 대해서 join fetch 하지 말 것.
 +  * [[java:hibernate:gotchas|Hibernate/JPA Gotchas]] 참고.
 +
 +===== Entity Graph / JPA 2.1 =====
 +  * [[java:jpa:entitygraph|JPA Named Entity Graph]]
 ===== Cascade ===== ===== Cascade =====
 ==== Casecade.REMOVE 함부로 사용하지 말 것 ==== ==== Casecade.REMOVE 함부로 사용하지 말 것 ====
줄 21: 줄 22:
  
 ==== @JoinFormula ==== ==== @JoinFormula ====
-  * 관계가 맺어져 있지 않을 경우 ''null''값을 저장해야 하지만 Legacy DB의 경우 ''0'' 이나 기타 다른 값을 저장하는 경우가 있.  +  * 관계가 맺어져 있지 않을 경우 ''null''값을 저장해야 하지만 Legacy DB의 경우 ''0'' 이나 기타 다른 값을 저장하는 경우가 있.  
-  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinFormula.html|@JoinFormula]] +  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinFormula.html|@JoinFormula]]<code java> 
-  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinColumnOrFormula.html|JoinColumnOrFormula]] +@JoinFormula(value="CASE the0isNullColumn WHEN 0 THEN NULL ELSE the0isNullColumn END"
-  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinColumnsOrFormulas.html|JoinColumnsOrFormulas]]+</code> 
 +  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinColumnOrFormula.html|@JoinColumnOrFormula]] 
 +  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/JoinColumnsOrFormulas.html|@JoinColumnsOrFormulas]] 
 +  * [[https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/annotations/NotFound|@NotFound]]도 사용가능하지만 이 경우 잘못된 값이 들어온 경우와 ''null''을 나타내는 값이 들어온 경우를 구분할 수 없다.<code java> 
 +@NotFound(action = NotFoundAction.IGNORE) 
 +</code>
  
 === @JoinFormula 참고 === === @JoinFormula 참고 ===
줄 31: 줄 37:
   * [[https://vladmihalcea.com/how-to-customize-an-entity-association-join-on-clause-with-hibernate-joinformula/|How to customize an entity association JOIN ON clause with Hibernate @JoinFormula - Vlad Mihalcea]]   * [[https://vladmihalcea.com/how-to-customize-an-entity-association-join-on-clause-with-hibernate-joinformula/|How to customize an entity association JOIN ON clause with Hibernate @JoinFormula - Vlad Mihalcea]]
   * [[https://vladmihalcea.com/how-to-map-the-latest-child-of-a-parent-entity-using-hibernate-joinformula/#more-6983|How to map the latest child of a parent entity using Hibernate @JoinFormula - Vlad Mihalcea]]   * [[https://vladmihalcea.com/how-to-map-the-latest-child-of-a-parent-entity-using-hibernate-joinformula/#more-6983|How to map the latest child of a parent entity using Hibernate @JoinFormula - Vlad Mihalcea]]
 +
 +=== 참조 ===
 +  * [[https://www.baeldung.com/jpa-join-types|JPA Join Types | Baeldung]]
  
java/jpa/association.1536550275.txt.gz · 마지막으로 수정됨: 2018/09/10 12:31 저자 kwon37xi