2013-01-16 4 views
0

나는 NullPointerException이 무엇입니까. 그러나 그것은 성 가시다.Play의 max_fetch_depth를 높이려면 어떻게해야하나요?</p> <pre><code>@tfz.modelTfzTyp.simulierteTfzTyp.typ </code></pre> <p>내가 대신 게터 기능을 사용하는 경우, 작동 : 내 뷰 템플릿 만 3 레벨 깊은 멤버 필드를 액세스 할 때

나는 Ebean을 사용하고 있으며 최대 절전 모드는 max_fetch_depth입니다. 비슷한 문제가 내 문제를 일으키는 것으로 의심됩니다. Play에서 더 많은 객체를 열심히로드하려면 어떻게해야합니까?

답변

2

이것은 max_fetch_depth 속성과 아무 관련이 없습니다.

동적 가져 오기는 모델에서 바이트 코드 향상으로 허용되며 getter에만 작동합니다. 직접 Ebean 필드 액세스의

향상뿐만 아니라 스칼라에, 자바 클래스에 적용됩니다 (게으른 로딩을 가능) :

documentation 공식을 참조하십시오. 따라서 Scala 소스 파일 (표준 Play 2 템플릿 포함)에서 직접 필드에 액세스하면 지연로드가 호출되지 않으므로 비어있는 (채워지지 않은) 엔티티 필드가 생길 수 있습니다. 필드를 채우려면 (a) getter/setter를 수동으로 만들고 대신 호출하거나 (b) 필드에 액세스하기 전에 엔티티가 완전히 채워 졌는지 확인하십시오.