gpt4 book ai didi

java - @UniqueConstraint 用于两列以上

转载 作者:行者123 更新时间:2023-12-02 07:41:05 25 4
gpt4 key购买 nike

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

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

  1. @UniqueConstraint 是否只允许两列?
  2. 如果是,那么我如何验证两列以上的唯一组合?

谢谢你的帮助,/D

编辑:我所说的“它不再起作用”是指当我向表中添加新条目时不会引发异常。对于两列,它会抛出 ConstraintViolationException

最佳答案

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

Specifies that a unique constraint is to be included in the generated DDL for a primary or secondary table.

现在您还有两个选择:

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

关于java - @UniqueConstraint 用于两列以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11579467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com