2011-10-21 2 views
0

ORMLite ForeignCollection과 함께 두 가지 활동간에 개체를 보내는 방법은 무엇입니까? ForeignCollection이 직렬화 가능하지 않습니까? 직렬화 할 수없는 객체로 인해 IOException이 표시됩니다.ORMLite 외부 수집 및 직렬화

예 : 내 전화 클래스 내 CallObjective 클래스의

@ForeignCollectionField(eager = false) 
private transient ForeignCollection<CallObjective> _callObjectives; 

에 : 우리가 EagerForeignCollection 클래스에 몇 가지 개선을 만든 ORMLite의 버전 4.26에서

@DatabaseField(columnName = "CallId", foreign = true, foreignAutoRefresh = true) 
private Call _call; 
+0

내 대답이 @Rakhita에 도움이 되었습니까? 그것을 upvote하고 그것을했다면 받아 들여야합니다. 응답을받지 않으면 사람들이 귀하의 질문에 대답 할 이유가 없습니다. 행운을 빌어 요! – Gray

+0

어제 투표가 불쌍히 여겨서 정말 미안합니다. 어제 바빴습니다. 정보를 보내 주셔서 대단히 감사합니다. 그러나 그것은 내 문제를 극복하는 데 도움이되지 못했습니다. 나는 그것을 다른 방법론에서 끝내기 위해 일하고있다 ... – Rakhita

답변

3

이 더 직렬화 가능하게합니다. 전에 요즘 트렁크에 버그가 발견되었지만 [불행히도] LazyForeignCollection 클래스를 중지하고 eager = false을 직렬화 할 수 없습니다. 버전 4.28에서 수정 될 예정입니다.

컬렉션이 직렬화 가능할지라도 적절하게 비 직렬화 할 수있는 컨텍스트가 너무 많기 때문에 지연 컬렉션을 사용하여 아무 것도 할 수 없습니다. 대부분의 작업에서 예외를 throw하는 셸입니다.

+0

은 ORMLite 4.29 버전에서 모두 잘 동작한다. 회색, 제안과 의견에 감사드립니다. – Rakhita