我使用getHibernateTemplate().merge(obj)
将我的obj
保留在db中(一旦事务完成)。
我的代码是这样的:
Foo obj = getHibernateTemplate().merge(obj);
My Foo表(对应Foo class
)有一个版本列。 Foo受版本控制,Hibernate在事务(由Spring控制)完成后更新版本。
现在,在事务之后,obj仍然显示旧版本,而db具有递增版本。我知道只有在事务完成后才会对该版本进行物理设置。
如果我现在更新obj并再次尝试“merge
”,则会抛出StaleObjectException
(预期)。
问题:如何更新此对象以获取最新版本。为什么Merge不给我最新的更新对象。我是否必须再次加载该对象?