JPA-具有空值的多列唯一约束

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=

我希望这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={
    @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