在多个参考列上添加唯一约束 [英] Add a unique constraint over muliple reference columns

查看:100
本文介绍了在多个参考列上添加唯一约束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我想在两个引用的列上添加唯一约束:

Hello i want to add a unique constraint over two referenced columns:

@Entity()
@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "ast", "tfs" }))
public class N extends UUID {

@ManyToOne(optional = false)
@JoinColumn(name = "ast")
private A ast;

@ManyToOne(optional = false)
@JoinColumn(name = "tfs")
private T tfs;

在类中,UUID是用于生成主ID的逻辑.

In Class UUID is logic for generating a Primary ID.

Hibernate生成3个约束,PK,2个辅助密钥..但我希望有4个约束. 有人有主意吗?

Hibernate generates 3 Constraint, PK, 2 Secondary Keys.. but i am expecting 4 Constraints. Does someone have a idea ?

@Entity
public class A extends UUID implements Serializable {

@OneToMany(mappedBy = "ast")
private List<N> nutz;

@Entity
public class T extends UUID implements Serializable {

@OneToMany(mappedBy = "tfs")
private List<N> nutz;

推荐答案

如果我设置以下选项,它将起作用:

It works if I set:

<property name="hibernate.hbm2ddl.auto" value="create-drop" />

代替

<property name="hibernate.hbm2ddl.auto" value="update" />

似乎Hibernate仅在创建整个数据库时才创建容器,而不是在创建表时才创建容器!令人困惑. 相关

It seems Hibernate only creates constaints if the whole database is created and not when it creates the table! Confusing. related

这篇关于在多个参考列上添加唯一约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆