gpt4 book ai didi

java - 如何防止 Hibernate 使用 0 作为 ID?

转载 作者:搜寻专家 更新时间:2023-10-31 20:22:51 25 4
gpt4 key购买 nike

我正在使用

@TableGenerator(name="tab",initialValue=2,allocationSize=50)

在实体上定义 ID

@Id
@GeneratedValue(generator="tab",strategy=GenerationType.TABLE)
private int id;

然而 Hibernate 仍然使用 0 作为 ID。

我不能使用@GenericGenerator,因为 Jboss AS7 附带的 Hibernate4 不附带注释。

是否有简单的解决方案,还是我必须编写自定义生成器?

最佳答案

Hibernate 正在创建 ID 为 0 的 ID,因为您有一个原始类型。尝试使用 Integer id 而不是 int id。请记住基元不能包含空值。

如果要生成自定义 id 生成器,可以在 DB 中使用 SEQUENCE 来生成对象的 id。

<id ....>
<generator class="sequence">
<param name="sequence">YOUR_SEQUENCE _NAME</param>
</generator>
</id>

阅读有关生成器类的 API here .

关于java - 如何防止 Hibernate 使用 0 作为 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8160422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com