JPA-具有空值的多列唯一约束
我希望这3列作为唯一键,如下所示:JPA-具有空值的多列唯一约束,jpa,eclipselink,postgresql-9.1,Jpa,Eclipselink,Postgresql 9.1,我希望这3列作为唯一键,如下所示: I have an entity like this @Entity class Foo { long id; String name; Double parent_id; Double super_parent_id; } 但是这2列(parent\u id,super\u parent\u id)是可以为空的,所以如果我有这个数据 @Table(name = "FOO", uniqueConstraints=
I have an entity like this
@Entity
class Foo {
long id;
String name;
Double parent_id;
Double super_parent_id;
}
但是这2列(parent\u id,super\u parent\u id)是可以为空的,所以如果我有这个数据
@Table(name = "FOO", uniqueConstraints={
@UniqueConstraint(columnNames = {"name", "parent_id","super_parent_id"})
})
jpa
可以看到这两行的差异,这是合乎逻辑的,因为NULL与NULL是不同的
但我希望它们被验证为同一行
有什么建议吗?。
谢谢约束是数据库约束-您遇到的问题是SQL规范而不是JPA。您可以通过将其作为主键而不是长id来处理java,但我猜您正在寻找postgress或SQL解决方案。请参阅,感谢您的澄清,我认为这是一个jpa规范,解决方案适合我
name parent_id super_parent_id
my_name 1 NULL
my_name 1 NULL