Hibernate项目报错could not locate named parameter [xxx]]

十月 26, 2018 3:12:06 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springMVC] in context with path [/qjgl] threw exception [Request processing failed; nested exception is org.hibernate.QueryParameterException: could not locate named parameter [userLogin]] with root cause
org.hibernate.QueryParameterException: could not locate named parameter [userLogin]
	at org.hibernate.engine.query.spi.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:131)
	at org.hibernate.engine.query.spi.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:148)
。。。

原因:

1、可能是我们的参数设置有问题,例如:占位符使用错误

query.setParameter(name, "123");

正确用法:

query.setParameter("name", "123");

2、如果使用的是hibernate或者其他框架的话,可能是配置文件的扫描路径没配好(苦思冥想一点一点终于找到这个错误!!!!)

例如:目录如下

我们写扫描路径的时候就应该写成

<value>cn.hbu.qjgl.**.entity</value>

猜你喜欢

转载自blog.csdn.net/qq_39429962/article/details/83390276