gpt4 book ai didi

java - @SequenceGenerator 的架构属性在 Hibernate 中不起作用

转载 作者:行者123 更新时间:2023-11-30 10:13:48 26 4
gpt4 key购买 nike

有一个 oracle 用户,其中一些对象在其他用户之间是通用的。因此,application.yml 如下所示:

jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.Oracle10gDialect
default_schema: common_user
show_sql: true

Entity这样必须在自己用户中的任何对象都使用@Table-annotation 的schema 属性声明,如下所示:

@Entity
@Table(name = "NET_EVL_TEMPLATE", schema = "NET")
@SequenceGenerator(name = "sequence_db", sequenceName = "SEQ_NET_EVL_TEMPLATE", allocationSize = 1)
@Getter
@Setter
public class Evaluation extends BaseEntity<Long> {
...

此场景适用于Table,但不适用于sequence;另一方面,所有用户的所有序列都是在普通用户中生成的。我将模式放在序列属性中,如下所示:

@SequenceGenerator(name = "sequence_db", sequenceName = "SEQ_NET_EVL_TEMPLATE_TREE", allocationSize = 1, schema = "NET")

但它再次不起作用,它再次在普通用户中生成。

如何解决我的问题?另一方面,任何用户的序列对象都生成给它自己的用户而不是普通用户。

最佳答案

您可以像这样将模式名称设置为序列名称

@Entity
@Table(name = "NET_EVL_TEMPLATE", schema = "NET")
@SequenceGenerator(name = "sequence_db", sequenceName = "NET.SEQ_NET_EVL_TEMPLATE", allocationSize = 1)
@Getter
@Setter
public class Evaluation extends BaseEntity<Long> {
...

关于java - @SequenceGenerator 的架构属性在 Hibernate 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51185078/

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