Ok, I overlooked the issue of DB mapping of abstract entities that do not have a DbEntity. IIRC this issue was raised when we discussed embeddables. Not sure we came to any conclusion back then. So is this what proposed "DbEntity interfaces" are for? Maybe we can simplify that and continue mapping abstract attributes (be for abstract ObjEntities or Embeddables) by simply specifying a "db attribute name", allowing to override it in a concrete definition? This is very close to how JPA suggests to do it, would cut down on the separate interface definitions, and allow to reuse the existing XML format without change (except for "isAbstract" flag).

What do you think?

Andrus




On May 29, 2007, at 1:01 PM, Andrus Adamchik wrote:

Trying to decompose it further (so that we could Jira individual chunks easily :-))... +1 for the abstract entities support, but they can also be implemented as a separate feature independent from inheritance per se.


<obj-entity ...> needs the following additional (optional) xml attributes:
        - isAbstract="flag"

+1

Also the following steps will be needed:

* Modeler checkbox for ObjEntity "abstract" flag
* Changes to the code generation templates to generate abstract java classes for such entities * Changes to the validation rules to allow ObjEntity with no db entity for abstract entities

* maybe also some runtime checks for abstract entity (???)

Thanks
Andrus



Reply via email to