Serialization
When an instance is serialized in Java, the graph of instances
reachable via non-transient fields is
written to an output stream. In this context, non-transient refers to fields that have not been
declared transient in Java. Java’s
transient fields and JDO’s managed
fields are independent concepts, so any combination of Java’s transient or non-transient fields with JDO’s persistent,
transactional, or transient fields is possible in your persistent
classes.
You can serialize and deserialize instances of your persistent classes. You do not need to do anything special for serialization to work. In fact, the JDO implementation automatically fetches the graph of instances, even if they have not yet been loaded into the JVM from the datastore.
However, you should be aware that the instances reachable from the
instance being serialized might include a large number of instances from
the datastore. If your persistent classes are highly interconnected, you
may unintentionally serialize a large percentage of your datastore. You
can use Java’s transient modifier to
prevent the serialization of referenced instances. Chapter 4 showed how to make Java
transient fields persistent in JDO by
setting the persistent-modifier
attribute to "persistent“. This lets
you serialize persistent instances in JDO without extracting and
serializing a large portion of the data from your datastore.
JDO enhancement allows you to serialize transient and persistent instances of persistent classes to a format ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access