我有一个包含Set的Entity,如下所示:
@ElementCollection
Set<String> branches;
现在,Hibernate要做的是创建一个表
project_branches
(project_id |分支),并在branches
上添加唯一约束。有什么办法告诉休眠的唯一约束应该同时涉及project_id
和branches
?我找不到这个问题的答案,尽管我认为我不是第一个遇到这个问题的人...谢谢
最佳答案
这取决于映射中涉及的列。
还有另一种配置。请考虑在实体级别添加UniqueConstraint
注释,例如下面:
@Table(name="project_branches",
uniqueConstraints = {@UniqueConstraint(columnNames={"project_id", "branches"})}
)
编辑:尝试使用
@CollectionTable
批注。 @ElementCollection
@CollectionTable(
name="project_branches",
joinColumns=@JoinColumn(name="branches"),
uniqueConstraints = {@UniqueConstraint(columnNames={"project_id", "branches"})}
)
Set<String> branches;