작성
·
565
0
안녕하세요.
HttpSession 에서 세션값을 가져올때 프록시 문제가 발생하는 것 때문에 질문을 남깁니다.
현재 Member 라는 Entity에는 '값 타입 컬렉션'이 정의되어 있는 상태입니다.
문제는 이 값타입 컬렉션은 지연로딩이 디폴트값이라서 세션값을 가져올때 Object -> Member 객체로 타입캐스팅 할때 proxy 객체인 상태에서 시도하려고 하여 에러가 발생해버립니다.
이런 상황에서 eager로 설정해주는 방법이 있겠지만 별로 좋지 못한 해결방안이라고 생각되어 어떻게 하면 더 좋은 방법으로 해결할 수 있는지 궁금하여 질문을 드립니다.
감사합니다.
아...
선생님이 말씀하신대로 해결하였습니다 ㅠㅠㅠ 감사합니다.
지금껏 문제가 영속성 컨텍스트에서 get으로 조회한 값을 그대로 HttpSession 에 넣었던 것이 문제였습니다....트랜잭션 범위를 벗어나서 영속성 컨텍스트도 제거되는 바람에
Unable to evaluate the expression Method threw 'org.hibernate.LazyInitializationException' exception. 이런 에러가 발생했던 것이였네요.
dto객체를 하나 선언해 준 후에 바로 get으로 조회한 값을 넣지 않고 값들을 받아와서 새롭게 생성한 dto 에 넣어주어서 해결할 수 있었습니다.
너무 감사합니다 ㅎㅎ 행복하네요