JPA 작업을 시작하려고합니다. 다른 테이블에 외래 키가있는 테이블이 있습니다. JPA 엔티티를 생성 할 때 해당 변수에 대해 여러 개의 주석을 얻습니다. 결과 세트에서 모든 테이블을 다시 가져 오려면 어떻게해야합니까? 내가 정말로 그것을 부르면. 다음은 내가하려는 일의 예입니다.Lazy vs Eager with JPA
@OneToMany(mappedBy="resourceId")
private List<DistributionLink> distributionLinkCollection;
@OneToMany 주석은
나는 다시 내가 바로이 테이블을 요구 명명 된 쿼리를 호출 할 필요가있는 모든 값을 얻기 위해 생각하고 ... 꽤 앉아있다?
qLaunchArr = (QuickLaunch[])emf.createNamedQuery("QuickLaunch.getQuickLaunch").getResultList().toArray();
나는 모든 결과 세트가 포함 된 DistributionLinks 배열을 얻게 될 것이라고 생각합니다. 이제는 이것이 Eager Loading 대 Lazy 로딩과 관련이 있다는 것을 알고 있습니다. 정확히 무엇인지 모르겠습니다. 나는 게으른 로딩이 오직 @oneToMany 애트리뷰트를 명시 적으로 불러 온다는 것을 안다 (나는 생각한다)? 내가 필요로하는 컬렉션을 모두 되돌릴 수있는 방법. 결과 집합을 반복하고 명명 된 쿼리를 호출하여 명명 된 쿼리를 사용하여 모든 결과 집합을 가져와야합니까?
감사합니다.
5 월 가능이 질문에 도움을 줄 수 있습니다. http : // stackoverflow. com/questions/9624725/no-session-or-session-was-closed-with-jpa-2-and-ejb-3-1 – pWoz