当我尝试从 POJO 读取外部集合时,出现此错误
AndroidRuntime(589): Caused by: java.lang.IllegalStateException: Internal DAO
object is null. Lazy collections cannot be used if they have been deserialized.
有问题的集合是answers1
我已将其标记为“渴望”
@ForeignCollectionField (eager=true)
private ForeignCollection<TextAnswer> answers1;
为什么当我调试下面的方法时
public List<TextAnswer> getAnswers() {
return new ArrayList<TextAnswer>(answers1);
}
它告诉我该集合是 LazyForeignCollection?我很困惑。
我在使用外国集合的任何其他课程中都没有这个问题:(
如果惰性集合已被反序列化,则无法使用它们。
有趣的问题。首先,该消息是only in the LazyForeignCollection
班级。有没有可能answer1
field used因懒而被连载?是否涉及序列化?这dao
a 内的字段ForeignCollection
永远不应该null
除非该对象已被序列化。
我现在的假设是您正在反序列化该类的先前版本。如果不是这样的话我就不知道了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)