我有一个定义名称列的超类:
@MappedSuperclass
public class SuperClass {
@Basic
private String name;
}
有很多具体的@Entity子类可以扩展它,但是对于其中一个,我想在name列上添加一个唯一的约束。我不能只在超类上添加@Column(unique=true)
,因为那对于它的所有子类都不正确。
如何重新定义子类中的name列是唯一的? (注意:我的模型映射字段,而不是getter方法)
答案 0 :(得分:2)
在你的子类上尝试@AttributeOverride(name =“name”,column = @Column(name =“new_name”,unique = true)。然后你必须在db中将你的列'name'更改为'new_name'子类映射到的表