0

我用来getHibernateTemplate().merge(obj)将我obj的数据保存在数据库中(一旦事务完成)。我的代码是这样的:

Foo obj = getHibernateTemplate().merge(obj);

我的 Foo 表(对应于Foo class)有一个版本列。Foo 是版本控制的,Hibernate 在事务(由 Spring 控制)完成后更新版本。

现在,在事务之后,obj 仍然显示旧版本,而 db 具有增量版本。我了解该版本仅在交易完成后才进行物理设置。如果我现在更新 obj 并再次尝试“ merge”,它会抛出StaleObjectException(预期)。

问题:如何更新此对象以获取最新版本。为什么 Merge 不应该给我最新更新的对象。我必须再次加载对象吗?

4

0 回答 0