isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <>
Subject [DISCUSSION] Mothballing SQL ObjectStore, auto-inferring JDO annotations from Isis conventions
Date Sun, 08 Sep 2013 08:32:35 GMT

Been chatting off-list with Kevin, who was the original author of the SQL
Objectstore.  This predated the JDO objectstore but had the same basic
intent: to persist domain objects to an RDBMS.

Kevin originally wrote the SQL OS as the backend from apps he developed
with Isis and the old HTML viewer.  That was in a "previous life"; there
hasn't been any development of the SQL OS over the last couple of years.

Since graduating we haven't ever released SQL OS as a separate component.
 Kevin says he is now happy that we mothball (ie remove from the main
build) the SQL OS code...  if you have a reason to disagree, please speak


Being a home-grown implementation, the SQL OS isn't as sophisticated as the
JDO OS, but one advantage it does have is to require no additional
annotations/metadata; in other words the mapping is inferred entirely from
the Isis metamodel.

So the next question is: do we want to enhance the JDO Objectstore so that
it too (so far as possible) requires no JDO annotations to be defined?
Doing some googling I notice that DataNucleus provides a writeable metadata
API [1], so it would be possible to do this to some extent at least.

Or, is it better to be leave things as they are, with the Isis and JDO
annotations sitting side-by-side?  One metamodel for presentation, one for

For myself, I think that if it were possible to fully specify the
DataNucleus metamodel through Isis, then the idea has merit.  However,
there there are concepts in DataNucleus metadata (such as the mapping of
bidirectional relationships, the mapping of inheritance hierarchies, and
the mapping of polymorphic references) that have no equivalent in Isis'
metamodel.  For these, I think we would have to also support the JDO
annotations.  One would then end up in a situation where some JDO
annotations are inferred and implicit, but others must be specified
explicitly.  I think that'd be quite confusing, myself.

Any thoughts on this topic welcome.



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message