Reputation: 6566
I've came across this question a couple of times when searching for jobs, but, when developing, I never come across this terminology anywhere. I know they are 4 levels in it, but does it really matter for me to know what it is? As an application designer, should I know this? Can somebody explain this with real world scenarios?
Thanks.
Upvotes: 4
Views: 6912
Reputation: 367
The four levels are
-Pure relational ORM The entire application, including the user interface, is designed around the relational model and SQL-based relational operations.
-Light object mapping The entities are represented as classes that are mapped manually to the relational tables. The code is hidden from the business logic using specific design patterns. This approach is successful for applications with a less number of entities, or applications with common, metadata-driven data models. This approach is most known to all.
-Medium object mapping The application is designed around an object model. The SQL code is generated at build time. And the associations between objects are supported by the persistence mechanism, and queries are specified using an object-oriented expression language. This is best suited for medium-sized applications with some complex transactions. Used when the mapping exceeds 25 different database products at a time.
-Full object mapping Full object mapping supports sophisticated object modeling: composition, inheritance, polymorphism and persistence. The persistence layer implements transparent persistence; persistent classes do not inherit any special base class or have to implement a special interface. Efficient fetching strategies and caching strategies are implemented transparently to the application.
Upvotes: 5
Reputation: 5612
The four levels are:
Have a look more specifically into the hibernate docs for detail on each of them.
Upvotes: 0