Hi!
Take a look at:
http://en.wikipedia.org/wiki/Object-relational_mapping
also at:
http://c2.com/cgi/wiki?ObjectRelational ... isonDotNet
and, to my other favorite (IMO the best two are
Hibernate and
EOF, I think a mix between them could create "the ultimate" ORM... or the ultimate BEM?)
http://en.wikipedia.org/wiki/Enterprise ... _Framework (general overview)
http://developer.apple.com/documentatio ... e_Objects/ (Manual)
An interesting topic for analisis could be the limits between an Object Relational Maper and an Bussines Entity Manager. Some people think that Hibernate shouldn't evolve to become more like EOF, because it should aim
to do one and only one thing (be the best ORM) and other people think that it would be nice to have the services that an Business Entity Manager gives you (
like automatic connection handling, automatic transactions handling, multiple undo levels, real nested transactions, client and server objects, distributed non-transactional lazy loading, etc).
There are also some people that think that a Bussines Entity Manager is more closer to the MDA "objective", so I think you should take a look at
http://bdn.borland.com/article/0,1410,30375,00.html (
Using Borland's ECO to develop model-powered applications for .NET) an many related articles:
http://bdn.borland.com/delphi/eco the specially interesting thing for me about ECO is its OCL support (that can be used, for example to configure constraints that help ensuring that only consistent data is saved into the database... it is kind of a Design by Contract (
http://archive.eiffel.com/doc/manuals/t ... /contract/ ) for the domain model)
IMO the ActiveRecord pattern (
http://www.castleproject.org/index.php/ActiveRecord ) is getting too much popularity (
perhaps thanks to Ruby, but I think it leads to an anemic domain model) and Domain Model based in Bussines Entity Managers is not as popular (
thanks to the problems in EJB1 and EJB2) but it is important to remember that EJB is not the only way to build an Bussines Entity Manager, there are ways to build Business Entity Managers that are a lot more lightweight and user friendly than EJB, (just investigate more about EOF and ECO)
Interesting related discussions:
http://forum.hibernate.org/viewtopic.ph ... ic+anaemic
http://forum.hibernate.org/viewtopic.ph ... ic+anaemic
http://forum.hibernate.org/viewtopic.ph ... highlight=