JPA将字符串列值连接成单个值,就像聚合函数一样
使用JPA是否有可能拥有一个自定义聚合函数,该函数将扩展concat(),以便将列值连接到单个字符串中?我最近在JPA和H2数据库中遇到了同样的问题。我试图通过函数调用(见下文)从JPQL调用函数,但没有成功。最后,我使用了一个本地查询调用 但是,本文提到可以调用(函数调用)预定义或用户定义的数据库函数(标量函数或聚合函数)。此后,我通过突出显示相关部分,复制了规范中的段落 4.6.17.3调用预定义和用户定义的数据库功能 Java持久性查询语言的内置函数以外的函数的调用通过JPA将字符串列值连接成单个值,就像聚合函数一样,jpa,Jpa,使用JPA是否有可能拥有一个自定义聚合函数,该函数将扩展concat(),以便将列值连接到单个字符串中?我最近在JPA和H2数据库中遇到了同样的问题。我试图通过函数调用(见下文)从JPQL调用函数,但没有成功。最后,我使用了一个本地查询调用 但是,本文提到可以调用(函数调用)预定义或用户定义的数据库函数(标量函数或聚合函数)。此后,我通过突出显示相关部分,复制了规范中的段落 4.6.17.3调用预定义和用户定义的数据库功能 Java持久性查询语言的内置函数以外的函数的调用通过function\u
function\u调用
语法来支持。这包括调用预定义的数据库函数和用户定义的数据库函数
function_invocation::= FUNCTION(function_name {, function_arg}*)
function_arg ::=
literal |
state_valued_path_expression |
input_parameter |
scalar_expression
function_name参数是一个字符串,表示要调用的数据库函数。参数必须适合要调用的数据库函数。函数的结果必须适合调用上下文
该函数可以是数据库定义的函数或用户定义的函数函数可以是标量函数或聚合函数
使用函数调用语法的应用程序将无法跨数据库移植
例如:
SELECT c
FROM Customer c
WHERE FUNCTION(‘hasGoodCredit’, c.balance, c.creditLimit)
参考: