快照:当Session加载了一个PO对象,会为这个PO对象的值类型的属性复制一份快照,当Session清理缓存时,通过比较PO对象的当前属性与它的快照,Session能够判断PO对象的哪些属性发生了变化。
Session的commit()和flush()方法的区别:flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务;commit()方法会先调用flush()方法,然后提交事务。提交事务意味着对数据库所做的更新被永久保存下来。
快照:当Session加载了一个PO对象,会为这个PO对象的值类型的属性复制一份快照,当Session清理缓存时,通过比较PO对象的当前属性与它的快照,Session能够判断PO对象的哪些属性发生了变化。
Session的commit()和flush()方法的区别:flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务;commit()方法会先调用flush()方法,然后提交事务。提交事务意味着对数据库所做的更新被永久保存下来。