当前位置: 首页 > 面试题库 >

在Hibernate JPA2上使用唯一约束

胡鸿禧
2023-03-14
问题内容

如何在hibernatePOJO上实现我的唯一约束?假设数据库不包含任何内容。

我在@Column()注解中看到了唯一属性,但无法正常工作吗?
如果我想将此约束应用于多个列怎么办?


问题答案:

基本上,没有数据库支持就无法实现唯一约束。

@UniqueConstraintunique属性@Column是架构生成工具生成相应约束的指令,它们本身并没有实现约束。

您可以在插入新实体之前进行某种手动检查,但是在这种情况下,您应该意识到并发事务可能存在的问题。

因此,在数据库中应用约束是首选。



 类似资料:
  • 问题内容: 我有一个具有这种布局的表: 我想创建一个类似于以下的唯一约束: 但是,这将允许多行具有相同的if 。我想允许在存储不具有关联菜单中的最爱,但我只希望每个用户/食谱对这些行中最多只有一个。 到目前为止,我的想法是: 使用一些硬编码的UUID(例如全零)而不是null。 但是,每个用户的菜单都有FK约束,因此我不得不为每个用户创建一个特殊的“空”菜单,这很麻烦。 而是使用触发器检查是否存在

  • 它的方法是应用唯一的两列约束模型使用peewee。有原始的方法(使用),但我正在寻找另一种方法。 我使用postgres,所以我试图像@booshong下面说的那样做,然后在原始SQL我给出了以下内容(为了简单起见,与事务相关的和省略并输出): 正如我们所看到的,正如我前面所说,这是不同的事情。

  • 以下两者之间有区别吗: 以及: 在这两种情况下,名称是否唯一?索引唯一时意味着什么? 编辑:Postgres是唯一的约束,而索引没有回答我的问题。它考虑了FK的情况。我的问题与FK无关。我只想知道在这个例子中,这两个操作是否等价,其中不涉及FK。

  • 问题内容: 这是我的模型: 每个书的编号从每位作者的1开始并向上递增。因此,我们将有John Grisham撰写的1,2,3本书,George Martin撰写的1..5本书,等等。 我是否可以设置一个唯一的约束条件,以确保我们不会有两本书的作者相同?与相似,但约束仅适用于?的复合 问题答案: 用途:

  • 问题内容: 我有一个存储产品代码的字段。该代码是唯一的,但是某些产品根本没有代码。我无法发明代码,因为它们是提供商代码。 在MySQL中这种约束可能吗? 我是一个存储过程和触发器的菜鸟,所以如果解决方案涉及其中之一,请耐心等待。 更新:列不为空。这就是为什么我无法做到这一点。 问题答案: 是的,您可以这样做。参见MySQL参考(版本5.5)。 UNIQUE索引会创建约束,以使索引中的所有值都必须不

  • 主要内容:在创建表时设置唯一约束,在修改表时添加唯一约束,删除唯一约束MySQL 唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况。如果其中一条记录的 id 值为‘0001’,那么该表中就不能出现另一条记录的 id 值也为‘0001’。 唯一约束与主键约束相似的是它们都可以确保列的唯一性。不同的是,唯一约束在一个表中可有多个,并且设置唯一约束的列允许有空值,但