开发者学堂课程【Java 面试疑难点串讲 3:开发工具及框架:ORM 框架的 setter 方法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/26/detail/556
ORM 框架的 setter 方法
MyBatis 和 Hibernate 中的 set 方法
Mybatis 开发里面主要的核心是要求用户自己来定义使用的 SQL 语句。
而 Hibernate 特点由于其要考虑可移植性的问题,所以在 Hibernate 处理之中,它所需要考虑的就是一个自动生成 SQL 问题。
但是现在的所有问题都放在了 POJO类(VO),Hibernate 下,如果该 POJO 类的对象处于持久态状态,那么每一次用 setter 方法都会更新数据(如果你的事务是手工控制,则在若干个 setter 调用后才会发出更新操作),
而 MyBatis 没有这样的功能,因为 Hibernate 之中搞的这种对象的状态设计有些糟糕。
而且这也是 Hibernate 本身性能低的原因。如果要探究其起源,主要是因为传统的 EJB (Entity Bean)影响。