Errrr... it's not that bad:
http://en.wikipedia.org/wiki/Graph_%28mathematics%29Object serialization is an interesting topic because of the meaning and importance that developers place on it.
I have dabbled with it through the years. It promises the developer that you can have a neat, concise, simple way to persist and later reconstruct run-time object relationships and data contents.
There is a widely used technology called Object-relational mapping, ORM:
http://en.wikipedia.org/wiki/Object-relational_mapping. This is the practical current application of object serialization. In essence, an ORM library has the ability to perform RDBMS writes and reads of object data and object graphs.
An ORM library basically uses reflection (ability of the code to see its own constructs like class definitions and object relationships) to persist object data.
Criticisms of ORM are that it's a pig - large run time overhead, and complex.
Here's my view: I have found extremely few reasons in the work I have done to implement object serialization or ORM. There are reasons, but generally they come down to small scale needs like saving user preferences to an object store rather than write the code to write and read INI files.
It sounds more useful than it turns out to be in real life. The main problems with it are slowness and lack of optimization.
IE: perhaps you could deploy an ORM enabled database application much faster than you could write a native code application that used a data model of the real world data to be saved and used later. But you will pay for this ease of development every time you use the application with slowness and much larger data saved the RDB,
and, you lose all of the DBA discipline that you have developed - the tool does it all for you so you have no opportunity to model the data yourself.
The problem I have with it is that it's fragile in concept. If you don't implement exactly the same object hierarchy in a reader/data consuming application as in the writer/producer, you don't have a way to access the data.
Codeheads love ORM the most. I don't think DBAs "heart" it very much.
The bottom line is that if you want a data-centric application, it is probably very short sighted to base it upon a current C# or C++ vendor's ORM library.
I could be wrong but this is what I have gleaned from online pro/con discussions.