Hello,
1) There need be a separation between the "database model"
and the
"entity model" and there should be a "binding" that describes the
relation between the 2. As far as Hibernate processing is concerned
(run-time) it is this binding information that is of the utmost
importance. Yes you are correct that it most understand how to inject
and extract attribute values, etc but really this is largely ancillary;
in most cases the Hibernate internals deal with the "raw tuples" (the
values array).
Yes, well, I guess that the separation between the entity and
database models is the "core" hibernate functionality.
And if I understand correctly, the binding would be the second level of meta-data.
My main point really was that the top level shouldn't be "java" but
"entity", with java/map/xml/scala etc building on top of that.
Plus, later, maybe some APIs easing adding new entity modes.
--
Adam