仅在子类上为列添加唯一约束

时间:2014-07-31 05:05:21

标签: java hibernate jpa persistence

我有一个定义名称列的超类:

@MappedSuperclass
public class SuperClass {
   @Basic
   private String name;
}

有很多具体的@Entity子类可以扩展它,但是对于其中一个,我想在name列上添加一个唯一的约束。我不能只在超类上添加@Column(unique=true),因为那对于它的所有子类都不正确。

如何重新定义子类中的name列是唯一的? (注意:我的模型映射字段,而不是getter方法)

1 个答案:

答案 0 :(得分:2)

在你的子类上尝试@AttributeOverride(name =“name”,column = @Column(name =“new_name”,unique = true)。然后你必须在db中将你的列'name'更改为'new_name'子类映射到的表