我最近在使用 JPA 和 H2 数据库时遇到了同样的问题。我尝试通过函数调用(见下文)从 JPQL 调用GROUP_CONCAT函数,但没有成功。最后,我改用本机查询调用。
\n\n然而,JPA 2.1 规范提到您可以调用(函数调用)预定义或用户定义的数据库函数,无论是标量函数还是聚合函数。此后我通过突出显示复制了规范中的段落相关部分来复制规范中的该段落。
\n\n\n\n\n\n4.6.17.3 预定义和用户定义数据库函数的调用
\n\n通过语法支持调用Java持久化查询语言内置函数以外的函数
\n\nfunction_invocation。这包括调用预定义的数据库函数和用户定义的数据库函数。Run Code Online (Sandbox Code Playgroud)\n\nfunction_invocation::= FUNCTION(function_name {, function_arg}*)\n function_arg ::=\n literal |\n state_valued_path_expression |\n input_parameter |\n scalar_expression\nfunction_name 参数是一个字符串,表示要调用的数据库函数。参数必须适合要调用的数据库函数。函数的结果必须适合调用上下文。
\n\n该函数可以是数据库定义的函数或用户定义的函数。该函数可以是标量函数或聚合函数。
\n\n使用 function_inplication 语法的应用程序将无法跨数据库移植。
\n\n例子:
\n\nRun Code Online (Sandbox Code Playgroud)\nSELECT c\nFROM Customer c\nWHERE FUNCTION(\xe2\x80\x98hasGoodCredit\xe2\x80\x99, c.balance, c.creditLimit)\n
| 归档时间: |
|
| 查看次数: |
1797 次 |
| 最近记录: |