Hibernate 未保存值注释

2023-12-30

我想强制 Hibernate (4.2) 通过字段 VERSION 而不是字段 ID 检查对象持久性。下面的 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;
}

如何指定未保存值标签?我没有找到任何这方面的注释。 我在某处读到,Hibernate 足够聪明,可以猜测一个对象是否持久,但不太令人信服。 如果我想使用 -1 而不是 null 该怎么办?一定有办法实现这一目标,不是吗?

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

感谢您的帮助。


Edited。 Hibernate 3.6 参考指南说:

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

and

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

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


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate 未保存值注释 的相关文章

随机推荐