gpt4 book ai didi

java - Oracle JPA GenerationType.AUTO 与生成器要求 "hibernate_sequence"

转载 作者:行者123 更新时间:2023-12-02 03:22:35 38 4
gpt4 key购买 nike

我正在尝试在 Oracle JPA 中使用定义的序列生成以及 GenerationType.AUTO,如下所示:

@Id
@SequenceGenerator(name = "MY_GEN_NAME", sequenceName = "MY_SQ_NAME")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "MY_GEN_NAME")
@Column(name = "ID", nullable = false)
private Long id;

运行 hibernate 验证后,它会抛出错误:

Schema validation: missing sequence [hibernate_sequence]

我猜,它忽略了我的 MY_GEN_NAME 并尝试使用该全局序列来生成 id。

当我切换到GenerationType.SEQUENCE时,它使用SequenceHiLoGenerator并且工作正常。

为什么会发生这种情况,是否可以使 GenerationType.AUTO 使用 Oracle 的给定序列(可以切换到其他数据库)?

最佳答案

AUTO 向 JPA 提供者表示“选择您想要的”,在这种情况下它不会使用“生成器”属性。

如果您想使用 SEQUENCE,请将策略设置为 SEQUENCE!这样它将使用您定义的序列定义

关于java - Oracle JPA GenerationType.AUTO 与生成器要求 "hibernate_sequence",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414059/

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