javax.persistence.fetchgraph
은 JPA 2.1 쿼리에 EntityGraph 힌트를 제공 할 때 javax.persistence.loadgraph
과 어떻게 다릅니 까? 문서가 명확하지 않습니다.JPA 2.1에서 fetchgraph와 loadgraph의 차이점은 무엇입니까?
1
A
답변
1
fetchgraph
을 사용하는 경우 모든 관계는 주석과 관계없이 lazy
으로 간주되며 제공된 그래프의 요소 만로드됩니다. 이 기능은 특정 개체에 대한 보고서를 실행할 때 유용하며 일반적으로 eager
특수 효과를 통해로드 할 항목이 많아지는 것을 원하지 않습니다.
일반적으로 lazy
주석을 통해로드되는 엔티티를 열심히로드하려면 보통 나중에로드되는 쿼리 결과에 loadgraph
을 사용하여 특정 N + 1 사례를 피할 수 있습니다. 이미 eager
이라는 플래그가 지정된 관계는 평소대로 계속로드됩니다.
https://docs.oracle.com/javaee/7/tutorial/persistence-entitygraphs001.htm