gpt4 book ai didi

java - H2内存数据库和自定义@GenericGenerator策略

转载 作者:太空宇宙 更新时间:2023-11-04 13:23:08 24 4
gpt4 key购买 nike

我尝试使用自定义 ID 生成器,如 Bypass GeneratedValue in Hibernate (merge data not in db?)在使用 Postgres DB 时它工作得很好。我的代码与示例中的代码相同。但是,在使用 H2 内存数据库运行测试时,我遇到了问题,该 id 不会自动生成。

没有自定义生成器

@Column(name = "id", nullable = false)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

生成的创建表脚本

create table db.schema.entity (id  bigserial not null...

使用自定义生成器

@Column(name = "id", nullable = false)
@Id
@GeneratedValue(generator = "idGenerator", strategy = GenerationType.IDENTITY)
@GenericGenerator(name="idGenerator", strategy = "...UseIdOrGenerate")
private Long id;

生成的创建表脚本

create table db.schema.entity (id int8 not null...

因此测试不起作用。

最佳答案

通过更改@Column解决

@Column(name = "id", nullable = false, columnDefinition = "bigserial")

关于java - H2内存数据库和自定义@GenericGenerator策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883612/

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