Hibernate unsaved-value注释

我想通过字段VERSION而不是字段ID强制Hibernate(4.2)检查对象持久性。 下面的xml应该有效:

    

但我想使用注释。 这个java代码够了吗?

 @Id public String getId() { return this.id; } @Version public Integer getVersion() { return this.version; } 

如何指定unsaved-value标签? 我没有找到任何注释。 我已经读过某个地方,Hibernate足够聪明,可以猜测一个对象是否持久,但它并不太令人信服。 如果我想使用-1而不是null,该怎么办? 必须有办法实现这一点,不是吗?

  

谢谢你的帮助。


编辑 。 Hibernate 3.6参考指南说:

“在Hibernate3中几乎从不需要unsaved-value属性,并且在注释中确实没有相应的元素。”

“分配的生成器使Hibernate使用unsaved-value =”undefined“。这会强制Hibernate转到数据库以确定实例是暂时的还是分离的,除非有版本或时间戳属性,或者您定义了Interceptor.isUnsaved() “。

我相信@Version对我来说已经足够了。