开发者

Serialize objects containing objects java

开发者 https://www.devze.com 2022-12-15 17:45 出处:网络
I try to ser开发者_高级运维ialize an object that contains an other object which is itself serializable.

I try to ser开发者_高级运维ialize an object that contains an other object which is itself serializable.

Is there a way to make it work ? The pointer to the other object seems to be lost when I serialize the first object.


Here are two rules concerning persistent objects:

  • Rule #1: The object to be persisted must implement the Serializable interface or inherit that implementation from its object hierarchy
  • Rule #2: The object to be persisted must mark all nonserializable fields transient

Check the article "Discover the secrets of the Java Serialization API". It's include source code and a good explanation of the serialization process.

Source code answering "How do I serialize a tree of objects?" is also available at http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/faq.html#tree

To know some "under the hood" details check this excellent article: The Java serialization algorithm revealed.


The "pointer" is lost indeed. After deserialization new objects are constructed.

Before you provide your code - check whether your 2nd object isn't defined as transient - this stops java serialization.


All of the attributes of the Serializable object should be serialized as well, unless they're defined as transient.


It should work just fine, so long as everything's serializable. What do you mean by the pointer (by which I assume you mean reference) being "lost"?

Could you provide a short but complete program which demonstrates the problem? Admittedly Java binary serialization can be fiddly at times, but this much should work fine out of the box.


You might be happy using SOJO. It serializes the entire hierarchy of a Java object pretty easily.


I exactly feel the same, the inner object value will be also serializable until and unless it is being marked transient. If the inner object class was not serializable then it would throw a compile time error.

Kindly let us know if u did solve it and if my understanding is wrong.


https://github.com/gadieichhorn/prototype-jpa

I created this github project that includes some serialisation into a @Lob please check it out and let me know if you have any comments.

  • maven
  • jpa - eclipse link - derby
  • slf4j - logback
  • junit - hamcrest

feedback is welcomed.

0

精彩评论

暂无评论...
验证码 换一张
取 消