JPA - @Column(unique=true) - 拥有“unique”属性的真正意义是什么?
假设我有“主题”表
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”时,我得到类似的行为(相同的例外)。很明显,JPA实现不能真正做任何事情,除非联系DB进行检查。
它的真正用例是什么?
(我在这里假设,唯一约束也是在数据库级别定义的。