1、Hibernate与MyBatis简介
Hibernate是面向对象(POJO)的,其实现了POJO与数据库表之间的映射以及SQL 的自动生成和执行。
MyBatis是面向SQL的,主要实现POJO 与SQL之间的映射关系。
2、区别:
MyBatis面向SQL,可以对SQL进行细致的优化,提高数据库操作的效率,而且可以指定查询部分字段;Hibernate虽然减少开发时操作数据库
的细节,简化开发人员的开发过程,使开发人员更专注业务逻辑,但是Hibernate对于将为复杂的表关系,将会变得很复杂,而且各种级联的
关系很容易降低性能,要想解决问题,必须对Hibernate的实现细节有较强的认识。
3、项目开发过程中使用两者时遇到的问题
开发同时具有PC端、移动端的服务端接口时,使用Hibernate遇到比较棘手的问题就是,之前我们对对象懒加载的配置虽然在PC端可以完成,但是由于移动端调用服务端接口,一般采用JSON或者XML,无法实现懒加载,不得不在业务层对对象进行另外一次的转换,将级联的对象进行转换;而在使用MyBatis时则不会存在该问题。