Object relational mapping is a programming technique by means of which data between incompatible type systems can be converted into object oriented programming languages. This helps in creating a virtual object database which is used within the programming language. It helps in applying object-oriented analysis, programming technique, and design. More importantly one can hide the specifics while handling the relational system. The ORM tools do rely on the metadata about the objects and the database. Here are a few of its benefits.
1. Helps create application designs
2. Good productivity
While creating an application the writing of the code can be very time consuming. Though the ORM does not reduce the code-writing time, it automatically generates 100% of the data access code.
3. Helps in reusing codes
If a class library to generate separate DDL for the ORM-generated code is created, it can help in reusing the codes very easily. This can be done for a number of applications.
4. Helps in maintaining applications
The ORM generated code is usually properly tested, therefore one does not have to test it over and over again. One can change the database without changing how the application uses the data.
There are many benefits of object relational mapping, but it has a few drawbacks as well. Many users say that it is hyped a lot. Sometimes the configuration files grow very quickly and its maintainability becomes very difficult. It creates dependency between database schemas and model objects. It can also adds burden to the database layer, which creates a lot of difficulty for the user. The pros of ORM completely outweigh its cons, and many users are in awe of this technique.