Hibernate - 从数据库中获取对象版本
Hibernate - get Object version from db
我的申请中有场景:
1. 我从数据库中获取对象:
hql = "some hql query";
Query query = session.createQuery(hql);
return query.list();
2。用户对此对象进行更改。
3. 用户对更改不满意,想要重新加载对象的数据库版本。 (某种 'abort edit' 动作)
这是我碰壁的地方。当我第二次尝试获取对象时,hibernate 为我提供了对内存中已存在的相同对象的引用——我可以通过在调试模式下比较对象 id 来判断。但是内存中的这些对象与数据库版本相比发生了变化。
我如何强制休眠从数据库中读取对象而不是给我引用内存中已经更改的版本?
来自 Java Persistence 2.0 规范:
3.2.5 Refreshing an Entity Instance
The state of a managed entity instance is refreshed from the database by invoking the refresh
method
on it or by cascading the refresh operation.
我的申请中有场景:
1. 我从数据库中获取对象:
hql = "some hql query";
Query query = session.createQuery(hql);
return query.list();
2。用户对此对象进行更改。
3. 用户对更改不满意,想要重新加载对象的数据库版本。 (某种 'abort edit' 动作)
这是我碰壁的地方。当我第二次尝试获取对象时,hibernate 为我提供了对内存中已存在的相同对象的引用——我可以通过在调试模式下比较对象 id 来判断。但是内存中的这些对象与数据库版本相比发生了变化。
我如何强制休眠从数据库中读取对象而不是给我引用内存中已经更改的版本?
来自 Java Persistence 2.0 规范:
3.2.5 Refreshing an Entity Instance
The state of a managed entity instance is refreshed from the database by invoking the
refresh
method on it or by cascading the refresh operation.