hibernate中是否有任何注释,我可以用它来查明匹配多个字段的条目是否已经在db中。现在我使用INSERT IGNORE语句来实现同样的目的。我想基于不在单个列上的多个列来完成它。
例如,我有一张桌子,其中有三列。 标题,作者和描述以及价格。我不会重复输入,与上面提到的四个字段完全匹配。
答案 0 :(得分:0)
您可以将uniqueConstraints
注释的@Table
属性用于您的目的:
@Table(name = "book", uniqueConstraints = {
@UniqueConstraint(columnNames = {"title", "author", "description", "price"})
})
它指定在主表的生成DDL中包含唯一约束。
例如,如果您的图书 title = 1 ,作者= 1 , description = 1 且 price =书表中的,当有人插入具有相同值的新行时,它会抛出异常。