小编Yol*_*gie的帖子

HQL-命名参数为左侧

从1.5.13升级到2.0.2的Spring Boot升级后,我们的某些HQL查询失败,并显示“ Parameter [myParameter] not bound”。在这两种情况下,我们都使用了Hibernate 5.2.12。

仔细查看后,我发现所有失败的查询都在比较的左侧使用了命名参数。

所以

@Query("select a from MyEntity a where :name = a.name") List<MyEntity> findByName (@Param("name") String name);

在Spring Boot 1.5.13上工作,但在Spring Boot 2.0.2上失败了,但是

@Query("select a from MyEntity a where a.name = :name") List<MyEntity> findByName (@Param("name") String name);

都在工作。

有人可以解释这种行为吗?我在文档中找不到解释。

我得到的完整Stacktrace是:

[2018-06-19 23:06:21.934] ERROR [http-nio-8080-exec-2] [] [] --- o.a.c.c.C.[.[.[.[dispatcherServlet]: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: Named parameter [codLbrX] not set; nested exception is org.hibernate.QueryException: …
Run Code Online (Sandbox Code Playgroud)

hibernate hql spring-data spring-data-jpa spring-boot

5
推荐指数
0
解决办法
319
查看次数

如何查看是否有正在收听键盘事件的Javascript代码?

如何确定是否有Javascript代码监听/拦截键盘事件,并且理想情况下在代码中找到确切的行/位置(例如在ChromeDev工具中)?

javascript security javascript-debugger

5
推荐指数
1
解决办法
84
查看次数