Campus @OneToMany Buildings Building拥有@OneToMany Rooms。 房间名称在校园内必须是唯一的 (例如校园A,A座,A室和校园B,A座,A座应该可以存放)
是否可以在Room实体上定义这样一个唯一约束?
答案 0 :(得分:4)
我可能在这里遗漏了一些东西,但是在校园内也没有建立独特的名字?因此,您需要确保房间名称在给定建筑物内是唯一的:
@Entity
@Table(name="rooms",
uniqueConstraints = {@UniqueConstraint(columnNames={"building_id","name"})}
)
public class Room {
...
@ManyToOne
@JoinColumn(name = "building_id")
private Building building;
...
}
如果您现在对Building
中的Campus
名称执行相同的操作,那么您应该很高兴。