gpt4 book ai didi

java - JPA:@OneToOne 使用随机生成的名称创建隐式唯一约束。有什么方法可以使用注释在代码中指定该名称吗?

转载 作者:行者123 更新时间:2023-11-30 08:10:22 25 4
gpt4 key购买 nike

在 Java 类中,我有这个属性

@OneToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private MyPropertyClass myProperty;

这不仅创建了外键约束,还创建了唯一约束。这是 Hibernate DDL 架构输出:

Hibernate: create table [...]
Hibernate: alter table [...] add constraint UK_nk1hqjkd7ln1f9a2pju1yy8ay unique (myProperty)

是否有任何方法来指定唯一约束的名称?

最佳答案

请在类级别尝试@Table注解的uniqueConstraints属性。

@Table( name ="tablename " , uniqueConstraints={
@UniqueConstraint(name="myconst", columnNames={"myProp"})
})

public class MyEntity {

@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name="myProp")
private MyPropertyClass myProperty;

}

关于java - JPA:@OneToOne 使用随机生成的名称创建隐式唯一约束。有什么方法可以使用注释在代码中指定该名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31736342/

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