[英]Serialize objects containing objects java
我尝试序列化一个包含其他对象的对象,该对象本身是可序列化的。
有没有办法让它发挥作用? 当我序列化第一个对象时,指向另一个对象的指针似乎丢失了。
以下是有关持久对象的两条规则:
查看文章“发现Java Serialization API的秘密” 。 它包括源代码和序列化过程的一个很好的解释。
源代码回答“如何序列化对象树?” 也可以在http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/faq.html#tree上找到
要了解一些“引擎盖下”的详细信息,请查看这篇优秀文章: Java序列化算法揭示 。
“指针”确实丢失了。 反序列化后,构造新对象。
在提供代码之前 - 检查第二个对象是否未定义为transient
- 这将停止java序列化。
Serializable对象的所有属性也应该被序列化,除非它们被定义为瞬态。
它应该工作得很好,只要一切都是可序列化的。 指针(我假设你指的是参考)被“丢失”是什么意思?
你能提供一个简短而完整的程序来证明这个问题吗? 不可否认,Java二进制序列化有时可能很繁琐,但这应该可以很好地开箱即用。
我确实感觉一样,内部对象值也可以序列化,除非它被标记为瞬态。 如果内部对象类不可序列化,那么它将抛出编译时错误。
请告诉我们您是否解决了问题以及我的理解是否错误。
你可能会很高兴使用SOJO 。 它非常容易地序列化Java对象的整个层次结构。
https://github.com/gadieichhorn/prototype-jpa
我创建了这个github项目,包括一些序列化到@Lob请检查出来,如果您有任何意见,请告诉我。
欢迎反馈。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.