@UniqueConstraint超过两列

时间:2012-07-20 12:32:00

标签: java spring hibernate validation constraints

在我的Spring / hibernate项目中,我使用uniqueConstraints = {@UniqueConstraint(columnNames={"ID_A", "ID_B"})}来验证表中列的唯一组合。当我只有两列时,这很好用。

但是,当我想在约束中添加第三列ID_C时,它不再起作用。

  1. @UniqueConstraint仅允许两列吗?
  2. 如果是,那么我如何验证两列以上的唯一组合?
  3. 谢谢你的帮助, / D

    编辑:我的意思是“它不再有效”是我向表中添加新条目时不会抛出任何异常。有两列它会抛出ConstraintViolationException

1 个答案:

答案 0 :(得分:2)

单独向实体添加UniqueConstraint不会执行任何验证。如链接文档中所述,它提供了在数据库模式生成中使用的指令:

  

指定在生成的内容中包含唯一约束   主表或辅助表的DDL。

现在剩下两个选项了:

  1. 让Hibernate生成数据库架构
  2. 删除旧约束并通常使用SQL添加新约束。