Szm*_*eby 5 java annotations hibernate
我想通过字段VERSION而不是字段ID强制Hibernate(4.2)检查对象持久性.下面的xml应该有效:
<id name="id" column="ID">
<generator class="assigned" />
</id>
<version name="version" column="VERSION" unsaved-value="null" />
Run Code Online (Sandbox Code Playgroud)
但我想使用注释.这个java代码够用吗?
@Id
public String getId() {
return this.id;
}
@Version
public Integer getVersion() {
return this.version;
}
Run Code Online (Sandbox Code Playgroud)
如何指定unsaved-value标签?我没有找到任何注释.我已经读过某个地方,Hibernate足够聪明,可以猜测一个对象是否持久,但它并不太令人信服.如果我想使用-1而不是null,该怎么办?必须有办法实现这一点,不是吗?
<version name="version" column="VERSION" unsaved-value="negative" />
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
编辑.Hibernate 3.6参考指南说:
"在Hibernate3中几乎从不需要unsaved-value属性,并且在注释中确实没有相应的元素."
和
"分配的生成器使Hibernate使用unsaved-value ="undefined".这会强制Hibernate转到数据库以确定实例是临时的还是分离的,除非有版本或时间戳属性,或者您定义了Interceptor.isUnsaved() ".
我相信@Version对我来说已经足够了.
| 归档时间: |
|
| 查看次数: |
3730 次 |
| 最近记录: |