hql - 在 hibernate-5 中运行命名查询时,我将如何确保它使用 JPA2.1 标准
问题描述
在 hibernate-5 中运行命名查询时,我如何确保它使用 JPA2.1 标准(JPQL Grammer)
在 hibernate5 中运行时它执行得很好,在 JPA2.1 中这应该会失败,我需要什么/在哪里设置一些东西来使用 JPA 标准(JPQL 语法)。
String queryString = "from DeptEmployee where employeeNumber = :employeeNo";
Query jpaQuery = entityManager.createQuery(queryString);
当在 Hibernate-5 中针对 JPQL 语法运行时,这应该会引发异常(因为没有相应的“select”关键字),但在不设置 JPQL 语法的情况下应该可以正常运行。
我想使用 Hibernate5 引擎运行,但仍想保留 JPA 实现。顺便说一句,我试过这个属性'hibernate.query.jpaql_strict_compliance= true'
,这没有用。参考:http ://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/cfg/AvailableSettings.html#JPAQL_STRICT_COMPLIANCE
解决方案
你不能。因为 Hibernate 是底层的 JPA 实现并且接受 HQL 风格的查询(没有选择)。
顺便提一句。你为什么要那样做?
推荐阅读
- arrays - 使用 rust 如何将 2d 数组转换为 2d 向量?
- python - 基于公共列合并多个数据框
- javascript - Apps 脚本使用 Cookie 向 Google 地图发送经过身份验证的 UrlFetchApp 请求
- mysql - sql:如何避免表行中的相同ID
- azure - 服务总线队列消失
- java - 使用 Scanner 的 Java 构造函数的继承
- python - 在熊猫数据框中拆分字符串
- transactions - 插入行的最佳事务隔离级别是哪个?
- wpf - ReactiveUI-5.99.6:ReactiveCommand CanExecute 总是返回 False
- python - Python 模板变量