Hibernate - 唯一列约束被忽略

2023-11-27

我有一个 MySQL 表来保存标签(即像 Stack Overflow 上使用的标签一样)。它只有一个 id (pk) 和一个用于保存标签本身的标签列。

我的标签实体的带注释的 get 方法如下所示。

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public int getId() {
    return this.id;
}

@Column(name = "tag", unique = true, nullable = false)
public String getTag() {
    return this.tag;
}

我在标签上使用唯一的列约束,因为给定标签的行数不应超过一行。然而,Hibernate 似乎忽略了这一点,即我可以多次保存完全相同的标签,它只是创建一个新行而不是抛出异常。

我错过了什么或者这应该有效吗?


来自 JavaDoc 的UniqueConstraint (unique=true on @Colunm只是一个快捷方式):

此注释用于指定在为主表或辅助表生成的 DDL 中包含唯一约束。

所以它似乎并没有强制插入的唯一性。无论如何,您都应该在数据库中创建唯一约束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate - 唯一列约束被忽略 的相关文章

随机推荐

  • Fortran:动态数组与自动数组避免内存分配

    分析我们的 Fortran 代码之一 有两个子例程占用了大部分计算时间 22 1 和 17 2 在每个例程中 大约 5 的时间花费在分配和释放内存上 这些例程看起来像 MODULE foo CONTAINS SUBROUTINE bar I
  • 颤动动画设计

    如何在 Flutter 中实现类似的动画 尝试了不同的动画与动画位置 看来是失败了 https giphy com gifs XJ1awq5Wr83uJFkLup 你可以试试this使用示例定制交换动画补间序列 final Animatio
  • 应用 AWS IAM 策略后我应该等待多长时间才能生效?

    我以编程方式添加和删除 AWS IAM 用户策略 但应用这些策略时得到的结果不一致 例如 这可能会成功 也可能不会成功 我使用的是 Java 1 6 6 SDK 从可以从特定存储桶读取数据的用户开始 清除用户策略 列出策略 然后为每一项调用
  • EXCEL VBA - 将工作簿导出到受密码保护的 ZIP 文件

    无论如何 是否可以修改 Ron De Bruin 的代码以将当前工作簿导出到密码保护zip 文件 我已经环顾了一段时间 但不知道如何启用这样的选项 代码在这里 http www rondebruin nl win s7 win001 htm
  • 为什么 CanRead 和 CanWrite 在 C# 中对于具有重写访问器的属性返回 false?

    当尝试从派生属性获取属性访问器或使用 CanRead CanWrite 时 由于某种原因 不考虑基本自动属性 CanRead and CanWrite仅基于派生类型返回值 也GetMethod and SetMethod不包含基类型的方法
  • 使用 php 设置 mp3 的专辑封面

    我正在寻找使用 PHP 设置 mp3 专辑艺术的最佳或任何方法 建议 专辑封面是根据 ID3v2 规范标识为 附加图片 的数据框 并且 getID3 现在只是用纯 PHP 在 ID3v2 中写入所有可能的数据帧的一种方法 看这个来源 htt
  • 将文件加载到 RichTextBox 时,某些超链接不会触发 LinkClicked 事件

    在 NET 4 7 中的一个简单的 Windows 窗体应用程序中 我只有一个RichTextBox在我的表格上 我正在从本地加载在 MS Word 2016 中创建的 rtf 文件 超链接已在 Word 中设置 问题是并非所有链接都会触发
  • 标签如何与非循环语句一起使用?

    根据ECMAScript 5 1 规范 第 12 12 节 任何语句都可以被标记 在简短的测试中 我的浏览器接受了任何语句之前的标签 该规范还规定标签仅用于break and continue语句 快速测试显示 如果这些语句引用的标签未引用
  • 使用 addEventSource 时出现 FullCalendar v.2.2.6 'hasTime' 未定义错误

    我目前正在尝试测试FullCalendar 版本2 2 6 addEventSource button click function calendar fullCalendar removeEventSource cal events 1
  • 没有 GPL 许可证的 Android PDF 查看器库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找一个没有 GPL 许可证的 Android PDF 查看器库 有人知道是否有可用的免费许可证库吗 因为我一直在闲逛 发现一些开源库 如 MuPDF Android PDF
  • 执行wait()后,如果一个线程没有得到其他线程的通知,它会等待多长时间?

    在下面的示例中 由于主线程没有收到子线程的通知 因此它应该永远等待 但是主线程正在执行 下面示例的输出是 c l total 19900 为什么主线程会被执行 public class ThreadX extends Thread stat
  • 如何在 Java 中向 XML 输出添加回车符

    在 Java 中 如何在生成的 XML 文件中输出回车符 以便所有内容都不在一行上 DocumentBuilderFactory docFactory DocumentBuilderFactory newInstance DocumentB
  • 是否有用于排序方法的 Visual Studio 2010 扩展?

    StyleCop要求对 C 文件的内容采用特定的排序顺序 例如 字段应在方法之前声明 公共声明应在私有声明之前 如果有一个 Visual Studio 扩展可以自动将这些内容移至该顺序 将会非常有用 Does a good为此存在扩展名 我
  • 排除 s3cmd 同步的文件夹

    我正在使用 s3cmd 我想知道如何排除存储桶中的所有文件夹并仅同步存储桶根 例如 bucket folder two folder two file jpg get jpg 通过同步 我只希望它同步 get jpg 并忽略文件夹及其内容
  • 呼叫操作员 & 的命令是什么?

    I used ls alias 并试图找到 然而 不在输出中 什么是 是不是以下的组合Invoke Command and Invoke Expression 是否有其他操作员在 PowerShell 中没有 cmdlet 呼叫接线员 允许
  • 如何处理 DataGridViewCell 中的 KeyEvent?

    有没有Keydown事件一DataGridViewCell 我想做的是 当用户在特定单元格中键入内容时 他可以按 F1 来获取该特定列的帮助 并且会弹出一些表格 这是什么事件 I found this在论坛中编写代码 并且有效 privat
  • 消息“警告:函数的隐式声明”

    我的编译器 GCC 向我发出警告 警告 函数的隐式声明 为什么它会来 您正在使用编译器尚未看到其声明的函数 原型 yet 例如 int main fun 2 21 The compiler has not seen the declarat
  • 托管 C++ 中的数组初始化

    我希望声明并初始化一个一维托管项目数组 如果是C 代码 我会这样写 VdbMethodInfo methods new VdbMethodInfo new VdbMethodInfo Method1 new VdbMethodInfo Me
  • 如何在命令行中编译多个java源文件

    我知道跑步javac file1 java产生file1 class if file1 java是唯一的源文件 那么我只能说java file1运行它 但是 如果我有 2 个源文件 file1 java and file2 java 那么我
  • Hibernate - 唯一列约束被忽略

    我有一个 MySQL 表来保存标签 即像 Stack Overflow 上使用的标签一样 它只有一个 id pk 和一个用于保存标签本身的标签列 我的标签实体的带注释的 get 方法如下所示 Id GeneratedValue strate