데이터베이스 구조는 다음과 같습니다
전략에는 외국 키 멤버 _id (관련 회원 테이블), 외국 키 전략 _category (관련 카테고리 테이블) 및 회원 테이블에 외국 키 위치 _id (관련 포지톤 테이블)가 있습니다.
프론트 데스크 페이지가 Stategy 테이블의 내용을 직접 쿼리하면 HQL 문이 다음과 같이 작성됩니다.
stringhql = "fromstrategywhowsid = : id";
콘솔은 콧 구멍 오류를보고합니다. 최대 절전 모드가 기본적으로로드하는 것이 게으르다. 때문이다. 관련 객체를로드해야 할 때만 관련 객체에로드됩니다. 여기서 세션이 닫히면 세션이보고됩니다.
그래서 그것을 해결하는 방법
여기서는 주석의 기본 게으른 부하를 긴급로드로 변경하는 대신 왼쪽 Joinfetch를 사용하여 객체를로드하는 것이 좋습니다. 이는 매우 효율적입니다.
진술은 다음과 같습니다
StrategyStrategy = (전략) SessionFactoryUtil.getSession (). Createquery ( "instrategySleftJoinfetchs.StrateGyCategoryLeJoinfetchs.memberLftJoinfetchs.memberFtJoinFetchs.member.SetStIngger ("Id ", id) .Nuqueresult ();여기에 주목해야 할 것은 관련 멤버 테이블이 위치 테이블과 관련되어 있기 때문에 함께로드해야한다는 것입니다. 주목해야 할 또 다른 것은 여기에 S.ID가 다음과 같이 작성되어야한다는 것입니다. 여기 각 테이블의 기본 키 이름은 ID이기 때문입니다. 지정되지 않은 경우 시스템을 식별 할 수 없습니다.
요약
위의 내용은이 기사에 관한 모든 것이 최대 절전 모드의 긴급 로딩 문제 (다중 외국 키 협회)에 대해 논의합니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!