- Best used when you need complete control of the SQL.
- Useful when the SQL queries need to be fine-tuned.
- Should NOT be used when full control of both application and database design. Because in this case application could be modified to suit the database or vice versa.
- Reverted ORM
- Not support non-relational database
- Best when you have full control of both application and database. You can tune application to suit database or vice versa.
- Best option of programmer who are less familiar to SQL
- [Could use createNativeQuery() in EntityManager to control Query]
What difference between JPA and Hibernate?
Hibernate is an implementation while JPA is a specification.
Is MyBatis an ORM mapper?
Unlike ORM framework, MyBatis map Java Object to SQL.
Disadvantage of Different JPA
Too much magic
More time in development and maintenance (Have to rewrite all query if object mode change)