在hibernate-5中运行命名查询时,如何确保它使用JPA2.1标准(JPQL语法)
当在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
发布于 2019-05-17 18:56:54
因为Hibernate是底层的JPA实现,它接受HQL风格的查询(没有select)。
顺便说一句。你为什么想做那件事?
https://stackoverflow.com/questions/56179461
复制相似问题