gpt4 book ai didi

java - postgres serial/bigserial 列的正确 Hibernate id 生成器?

转载 作者:太空狗 更新时间:2023-10-29 22:33:45 26 4
gpt4 key购买 nike

我的 PostgreSQL 表的 ID 类型为 bigserial ,这意味着它们是在插入行时生成的(因此,INSERT 语句中未提供 id 列的值)。我很难为 <generator class="..."> 找到合适的值我的 XML 映射文件中的属性。

下面的代码是我发现的最接近 Postgres 的代码,但它仍在执行 SELECT nextval(...)。在插入之前的序列上(并在插入时明确包括 id 字段的值)。我只是希望 Hibernate 根本不包含 id 字段值,让 Postgres 自己完成生成值的工作。

    <id name="id" column="id" type="java.lang.Long">
<generator class="sequence">
<param name="sequence">my_sequence_name</param>
</generator>
</id>

最佳答案

这是未记录的,但当 PK 的类型为 SERIALBIGSERIAL 时,您实际上可以将 identity 生成器与 PostgreSQL 一起使用:

<id name="id" column="user_id" type="java.lang.Long">
<generator class="identity"/>
</id>

参见 HB-875 HHH-1675了解这方面的背景。

关于java - postgres serial/bigserial 列的正确 Hibernate id 生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433724/

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