Hibernate的游离态与持久态转换

时间:2023-03-08 17:12:37
Hibernate的游离态与持久态转换

在Hibernate中,一个PO可能经过长时间的操作,session已过时关闭,此时PO已经是一个游离态的对象,这时要转换为持久战态,有下面几种方法:

1、session.saveOrUpdate(object)。这语句会把游离态的PO转为持久态的PO并提交给数据库

2、session.merge(object)。这语句会把游离态的PO转为持久态的PO,并进行合并操作。

3、session.lock(object, LockMode.NONE)。这语句仅仅会把游离态的PO转为持久态PO,不作其它操作。只是,PO必须是没有改动过的,这方法挺适合做一个应用层