2017-09-07 6 views
0

SQL 액세스를 위해 Play Framework v.2.6.3 및 JPA 솔루션을 사용하고 있습니다. 내 실체에 FetchType.Lazy을 설정하면Play Framework : JPA 및 지연로드

, 나는 다음과 같은 오류 메시지가 :

play.api.http.HttpErrorHandlerExceptions을 $$ 곧 $ 1 : 실행 예외 [[RuntimeException의 : java.lang의. 는 IllegalArgumentException가 : 게으르게 역할의 컬렉션을 초기화하지 못했습니다 : 프록시를 초기화 할 수 없습니다, models.UserImp.goods을 - 당신이 문서를 플레이 읽는다면 어떤 세션

를, 거기는 말한다 :

이것은 도메인 객체 (집계 루트, DDD 조건)가 리포지토리에 대한 내부 참조를 가지고 있으며 세션을 열고 JPA 기반 지연로드를 사용하는 대신 엔티티 및 값 객체 목록을 반환하도록 호출 할 수 있습니다.

그래서, 제 질문은 : 게으른 가져 오기 작업을위한 가장 좋은 해결책은 무엇입니까?

나는 어떻게 처리해야합니까?

예를 들어 주시겠습니까? 사전에

감사합니다,

답변

0

FetchType.Lazy 로딩 FetchType에만 트랜잭션 내에서 그 elment를 사용할 필요 했니 세션 내에서 사용할 수있는 언급되는 엔터티의 요소를 의미한다.

+0

저는 게으른 가져 오기와 관련된 원칙을 알고 있습니다. 예, 열망하는 가져 오기를 설정할 때이 문제가 수정되었습니다. 그러나 DDD 용어로 왜 Lazy Loading을 사용하지 않고 항상 Eager Fetching을 사용합니까? Play Framework는 의사가 말한 것처럼이 원칙을 사용합니까? 무엇을 사용해야합니까? – Aleyango