2012-03-07 2 views
1

iBatis에 의해로드 된 일부 객체를 직렬화해야하지만 lazyLoadingEnabled = "true"이기 때문에 NotSerializableException이 발생합니다.iBatis LazyLoading Configuration

이것이 알려진 제한 사항이며 (https://issues.apache.org/jira/browse/IBATIS-529 참조) 전체 응용 프로그램에 대한 지연로드를 해제하지 않고도 해결 방법을 찾지 못했습니다.

내가 가지고있는 질문은 게으른로드보다 미세한 제어가 있는지 여부입니다. 이것은 현재 모든 sqlMap 자원에 적용되는 sqlMapConfig/settings에서 활성화/비활성화되어 있습니다. 프로그래밍 방식으로 또는 특정 sqlMaps에 대해서만이 기능을 활성화/비활성화 할 수 있습니까?

답변

0

그러나 게으른 로딩을 제어하기위한 솔루션을 찾지 못했습니다 ... 그러나 내 객체를 XML로 변환하여 (따라서 필요한 모든 필드를 명시 적으로로드) 내 페이로드에 사용하여 (객체 직렬화를 완전히 피하기 위해)) ... 분명 좋지 않은,하지만, 내 요구에 근무하고 현명한 (객체 직렬화 어쨌든)

0

<sqlMapConfig> 요소와 중첩 <settings> 요소에 프로젝트에서 구성 파일을 찾기 느린 주어진 파 성능을 보인다 lazyLoadingEnabled="false"을 지정할 수 있지만 외부 페치가있는 다른 복합 객체를 쿼리에서 가져 오는 경우 반드시 스택 오버 플로우 문제가 발생합니다.