gpt4 book ai didi

java - JPA - @Column (unique=true) - 拥有 'unique' 属性的真正意义是什么?

转载 作者:IT老高 更新时间:2023-10-28 21:21:09 30 4
gpt4 key购买 nike

假设我有“主题”表

CREATE TABLE subject (id int PRIMARY KEY, name VARCHAR(255) **UNIQUE**)

和相关的映射对象,

@Entity
@Table(name="subject")
public class SubjectDO {
@Id
@Column(name="id")
int id;

@Column(name="name", unique=true)
String name;
...
// Getter-Setter methods
}

当我尝试保存具有重复“名称”的对象时,无论是否定义了“unique = true”,我都会遇到类似的行为(同样的异常(exception)。)很明显,除非伸出援手,否则 JPA 实现实际上无法做任何事情到数据库进行检查。

它的真正用例是什么?

(我在这里假设,唯一约束也在数据库级别定义。)

最佳答案

@Column 中的

unique 仅在您让 JPA 提供程序为您创建数据库时使用 - 它将在指定列上创建唯一约束。但是如果您已经拥有数据库,或者您在创建后对其进行了更改,那么 unique 就没有任何效果。

关于java - JPA - @Column (unique=true) - 拥有 'unique' 属性的真正意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460596/

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