Hibernate unsaved-value注释

时间:2014-02-05 20:30:35

标签: java hibernate annotations

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

<id name="id" column="ID">
    <generator class="assigned" />
</id>
<version name="version" column="VERSION" unsaved-value="null" />

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

@Id
public String getId() {
    return this.id;
}

@Version
public Integer getVersion() {
    return this.version;
}

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

<version name="version" column="VERSION" unsaved-value="negative" />

感谢您的帮助。


被修改即可。 Hibernate 3.6参考指南说:

  

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

  

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

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

0 个答案:

没有答案