我在一个Java类中使用@Version,并且所有Java类都扩展了它。好。
我也使用objectForm。我使用它是因为假设它更安全(我隐藏了JSP中的所有<form:hidden path="XX"/>
),但是当我在浏览器中打开两个选项卡时,如果我修改并保护两个选项卡中的对象,Spring不会检查版本低于数据库版本并保存。如果我不使用对象形式,Spring会提醒我版本较低。是的,objectForm是强制性的。
我的想法是:我在JSP发送ObjectForm。我从jsp修改对象然后,我将对象形式返回到控制器。这样,将objectForm转换为object并保存对象。
有什么想法吗?
一些图片:
答案 0 :(得分:0)
@Version
注释仅适用于直接保存到数据库中的Hibernate实体类。
如果执行以下操作,将验证@Version,如果尝试将具有无效版本的对象保存在数据库中,则抛出异常:
@Version
entityManager.merge()
StaleObjectException