Postgresql JPQL:如何将行用作存储函数调用的参数?
我有一个名为Postgresql JPQL:如何将行用作存储函数调用的参数?,postgresql,spring-data-jpa,jpql,Postgresql,Spring Data Jpa,Jpql,我有一个名为validate\u row的存储函数,它从表中获取一行并返回一个布尔值,我想执行如下查询: SELECT * FROM table T WHERE validate_row(T) = true 在PostgreSQL中直接执行此查询是可行的,但以下JPQL注释将使用表的主键作为函数参数,而不是行: @Query("SELECT someDAO from table T WHERE function('validate_row', T) = true") 关于如何将行用作参数,您
validate\u row
的存储函数,它从表中获取一行并返回一个布尔值,我想执行如下查询:
SELECT * FROM table T WHERE validate_row(T) = true
在PostgreSQL中直接执行此查询是可行的,但以下JPQL注释将使用表的主键作为函数参数,而不是行:
@Query("SELECT someDAO from table T WHERE function('validate_row', T) = true")
关于如何将行用作参数,您有什么想法吗?默认情况下,@Query作为JPQL运行Query。因此,要以SQL本机方式运行查询,请使用
nativeQuery=true
试试这个:
@Query(value = "SELECT * FROM table t WHERE validate_row(t) = true", nativeQuery = true)
我没有尝试以本机方式运行查询。