사용자가 선택을하고 바로 아래 아약스를 사용하는 웹 응용 프로그램이 있는데 선택 항목의 세부 정보가 표시되어야합니다. 예를 들어, 사용자는 상단 프레임에서 사람을 선택하고 하단 프레임에서는 모든 사람 세부 사항을 표시합니다. 거기에 느슨하게로드 된 컬렉션의 무리가 있습니다. 콜렉션 중 하나가 호출되면 lazyinitialization 예외가 발생합니다. 어떻게 이것을 피합니까? 어떻게 ajax 호출 후에 엔티티를 entityManager에 다시 연결해야합니까?요청한 엔티티를 다시 연결 범위 엔티티 관리자
0
A
답변
-1
이 기사에서 제시된 해결책을 찾아 보았습니다.
http://9mmedia.com/blog/?p=272
답장을 보내 주셔서 감사합니다.
1
당신이 여기서 뭘하고있는 일을 몇 가지 방법이 있습니다 : 인격 엔티티의 모든 모음에 대한
- 사용 열망 로딩하지만,이 효과의 성능을 adversly 수 있습니다.
- JPA 2.0을 사용하는 경우 가장 간단한 방법은 OpenEntityManagerInView 인터셉터를 사용하는 것입니다. 그런 다음 JSON Jackson을 사용하여 Person 엔터티를 완전히 json-ify하고 JSON을 뷰에 반환 할 수 있습니다.
- 옵션 # 1과 옵션 # 2를 실행할 수없는 경우 프록시 대신 실제 컬렉션 개체를로드해야합니다. 세션/트랜잭션이 닫히기 전에 각각의 콜렉션 (콜렉션 A가 A라고 함)이 A.get (0) .someGetter()를 호출하기 때문에 콜렉션 A에있는 객체의 실제 인스턴스가로드됩니다. 각 컬렉션에 대해 수행해야합니다. 이 경우와 같이 특정 경우에 특정 방법을 사용할 수 있습니다.
- 세션/트랜잭션이 닫히기 전에 전체 Person 엔티티를 JSON (여기서는 아약스를 사용하는 것처럼)과 같은 다른 유형의 객체로 변환하십시오. 이렇게하려면 모든 컬렉션의 모든 개체를 반복하여 JSON 개체에 채우고 반환하십시오.
1
세션에서 이미 분리 된 엔터티에서 컬렉션을 가져 오는 동안 LazyInitializationException이 발생합니다.
그 때문에 엔티티를 다시 부착해야합니다. 즉, 엔티티를 관리해야합니다. 먼저 객체가 세션과 연관되어 있는지 확인합니다. 관련 컬렉션을 가져올 수 이후 &을 필요로 할 때
contains(Object object) : Check if this instance is associated with this Session.
객체 상태를 바탕으로, 다시 상태를 읽을 수 있습니다.
refresh(Object object) : Re-read the state of the given instance from the underlying database.
관련 문제
- 1. Entity Framework - 엔티티 분리 및 다시 연결?
- 2. 관련 엔티티가있는 엔티티를 새 엔티티 프레임 워크 컨텍스트에 연결
- 3. 엔티티 관리자 관리
- 4. 엔티티 연결
- 5. 특정 JDBC 연결 인스턴스가있는 JPA 빌드 엔티티 관리자
- 6. 매니지 빈으로 엔티티 관리자 삽입
- 7. Windows Mobile의 연결 관리자
- 8. 엔티티 프레임 워크 4에서 엔티티를 쿼리하는 방법
- 9. JPA 엔티티 다른 엔티티를 지속 중임
- 10. 하나의 엔티티 그룹에 엔티티를 만드는 방법은 무엇입니까?
- 11. 엔티티 프레임 워크 ctp5 비인가 엔티티를 얻으십시오.
- 12. 엔티티 프레임 워크 : ObjectSet.AddObject 엔티티를 추가하지 않습니까?
- 13. 다중 연결 트랜잭션 범위
- 14. PHP pdo 연결 범위
- 15. Wicket/JPA에 엔티티 관리자 주입 오류가 발생했습니다.
- 16. 2 개의 엔티티가 다른 엔티티를 참조하는 엔티티 매핑
- 17. 자바 영속성 엔티티 관리자 팩토리가 null을 반환합니다.
- 18. SSIS OlEDB 연결 관리자 오류
- 19. ssis 연결 관리자 암호 ("DontSaveSensitive")
- 20. 블루투스 관리자 프레임 워크에 연결
- 21. 요청한 URL이 변경 중입니다.
- 22. 서버에서 엔티티 관리자 오류가 발생 했습니까?
- 23. 스프링 DB2 JPA 엔티티 관리자 문제
- 24. 명명 된 범위 및 연결
- 25. 블록 범위 연결 C 표준
- 26. UISearchBar의 범위 막대 다시 만들기
- 27. Excel VBA - 범위 다시 초기화
- 28. 엔티티를 강제로 다시 불러올 수 있습니까?
- 29. XML 엔티티를 다시 문자로 변환하는 방법
링크가 작동하지 않습니다. – Andre