2013-07-30 2 views

답변

0

나는

은 게으른 한 손에 로딩은 다른 한편으로는, 저장 메모리를 의미 : @ D.R가 제시 한 일반적인 가이드 라인에 동의 DB를에 쿼리의 수를 증가 을 의미한다. Eager 로딩은 이고 그 반대 인입니다.

당신은 독약을 선택해야합니다.

게다가 (최대 절전 모드를 사용하려는 경우) hibernate fetch profiles으로 가져 오기 전략을 재정의 할 수있는 가능성을 언급하는 것이 중요하다고 생각합니다. 미리 정의 된 lazy 접근법이 충분히 융통성이없는 경우 좋은 해결책입니다. 가져 오기 프로파일을 사용하면 hibernate가 해당 트랜잭션에 대해서만 "다른 방법으로"객체를 가져 오도록 지시 할 수 있습니다. 느슨하게 객체를 가져와야 할 때 매우 편리하지만 때로는 다른 접근 방식이 필요합니다.

두 번째 레벨 캐시 최적화를 채택한 경우 현재 패치 프로파일 구현이 JOIN 전략을 지원하므로 호환성을 확인해야합니다.

0

일반적으로 즉시 데이터를 필요로하는 모든 경우에 eager fetching을 사용해야합니다. N + 1 문제가 발생하면 eager fetching으로 쿼리를 다시 실행하십시오.

좀 더 구체적인 상황에 대해서는 의견이 더 많습니다. 그러나 나는 그런 것들을 토론하는 가장 좋은 장소가 아닙니다.

관련 문제