在 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/