hibernate 缺点:
全表映射带来不便,比如更新时需要发送所有字段。
无法根据不同的条件组装不同的sql。
对多表关联和复杂sql 查询支持较差,需要自己写sql,返回后,需要自己将数据组装为pojo。
不能有效支持存储过程 。
虽然有hql ,但是性能较差。大型互联网系统往往需要优化sql. 而 hibernate 做 不到。
适用于 场景不太复杂,性能要求不太苛刻的。
解决上面的不足 : 半自动映射框架 mybatis 诞生了
有点:
动态列 ,动态表名,存储过程 ,提供简易 缓存,日志 、级联。
高度灵活,可优化,以维护等。
缺点:
需要提供映射关系和sql。开发工作量比hebernate 略大