当前位置: 首页 > 知识库问答 >
问题:

在JPA/Hibernate NamedQuery中指定数据库函数

湛宜春
2023-03-14

奇怪的是,hibernate JQL不能识别正确的函数。不使用子字符串,在hibernate中有没有办法在namedquery中指定任何有效的数据库函数?我不希望将其设置为本机查询或CriteriaQuery。

共有1个答案

殳毅
2023-03-14

JPQL之前JPA2.1不支持直接使用数据库函数(除了那些由于使用中的JPQL函数而被调用的函数)。

根据JPA2.1规范,调用的函数如下:

function_invocation::=FUNCTION(function_name{,function_arg}*)

FUNCTION("RIGHT, "some_string_possibly_path", 3)
 类似资料:
  • 使用Spring Boot应用程序。我有一个类UserService,我在其中创建了一个动态查询,根据请求参数具有多个or条件: 我有UserRepository接口,我需要执行这个查询。到目前为止,我使用了findById等JPA函数或@Query(“从事件中选择id”)。 如何将此查询从服务类传递到存储库并执行它?

  • 本文向大家介绍Django 在代码中指定不同的数据库,包括了Django 在代码中指定不同的数据库的使用技巧和注意事项,需要的朋友参考一下 示例 普通方法将使用默认数据库,或者,如果使用数据库路由器,它将使用中指定的数据库。您可以使用以下方法覆盖它:obj.save()db_for_write 同样,为了阅读:            

  • 我正在尝试设置Rails(v3.2.2)以使用多个数据库。我这样做是基于这个将Rails 3.1与多个数据库连接起来。 我的型号: database.yml: 当我运行这个规范文件时: 像这样: 我明白了: 我也尝试过像这样设置establish_connection: 这导致了相同的异常。(适配器未指定) 奇怪的是,如果我完全放弃establish_connection,通过database.y

  • 如何为查询指定超时?我使用的是Oracle11g,我希望可以使用类似这样的东西。

  • root-context.xml文件是: servlet-context.xml文件是: 我的@Entity类是: 控制台输出为:

  • 对于多个数据库(和数据库服务器),我有完全相同的数据库定义。我如何告诉Jooq使用与我创建的连接到DB的“连接”相同的数据库? 示例(对于MySQL): jdbc:mysql://localhost:3306/tsm-我的开发数据库(tsm),用于生成代码 所有3个数据库都具有相同的定义、相同的表、索引等。TSM one是我们的应用程序使用的标准。 也许我应该使用DSL。使用(连接、设置)而不是?