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