Stefan Guggisberg wrote:
but only introduce a lot of unnecessary complexity. you can easily
(and efficiently;)
persist jackrabbit's data (NodeState, PropertyState & NodeReferences objects)
in a primitive schema with three 2-column tables and still benefit from
transactions, etc. provided by your storage system.
It's not that simple but I get your point :) The biggest problem with
mapping a PropertyState to a DB is that it is assumed that a property
may be either a boolean, a date, a string, a binary, etc... In DBs you
have to set the type of a column and cannot change it for each row. So
this is why you need multiple tables and/or columns to store the
property values. Another option would be to use only BLOBs to serialize
all types of values, but this would unnecessarily waste space and
efficiency on the DB back-end.
Edgar has done a quite elegant implementation of the property value
mapping in his JDBC contribution, and I will use that as inspiration
when updating the ORM PM.
Last but not least : I do know think that the ORM PM is the best thing
in the world, far from it. I think it's great that we have a pluggeable
system and natural selection will do the rest :)
cheers,
Serge...