My critic of Hibernate is that Hibernate does not differentiate the database model and the numerous subsystem models. The database model is unique and much bigger. The other subsystem models are usually smaller and can be a simplification of the database model (elimination of certain classes, different associations…etc). In any case, there must be a mapping from the subsystem model to the database model in a bidirectional way.
A comprehensive solution from Hibernate is required. Hibernate must differentiate between the database model and the numerous subsystem scenario models (model that needs to be saved/retrieved). Hibernate should give the user a way to map one on to the other and back in a simple and flexible way.
I would suggest that Hibernate use an XML solution (yes another set of XML files) to map the database model and the numerous subsystem models in a bidirectional way. The models mapping file could use SQL statements to retrieve the attributes and navigate the various relationships of the database model and the subsystem models.
This would go a long way to make Hibernate more complete and a better tool for professional software development.
|