Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带命名参数的hibernate查询不给出结果_Java_Spring_Hibernate - Fatal编程技术网

Java 带命名参数的hibernate查询不给出结果

Java 带命名参数的hibernate查询不给出结果,java,spring,hibernate,Java,Spring,Hibernate,在SpringMVC中使用hibernate命名参数时,我遇到了一个问题 Session session = sessionFactory.openSession(); Query q = session.createQuery("from Users u where u.username = :name and u.password = :pass"); q.setParameter("name", username); q.setParameter("pass", p

在SpringMVC中使用hibernate命名参数时,我遇到了一个问题

Session session = sessionFactory.openSession();
    Query q = session.createQuery("from Users u where u.username = :name and u.password = :pass");
    q.setParameter("name", username);
    q.setParameter("pass", password);
    Users user = (Users) q.uniqueResult();
使用log4j时的输出为和打印用户

2017-01-20 22:34:17 TRACE BasicBinder:83 - binding parameter [1] as [VARCHAR] - "test"
2017-01-20 22:34:17 TRACE BasicBinder:83 - binding parameter [2] as [VARCHAR] - "test"

user =  null
当我使用查询时,比如:

"from Users u where u.username = 'test' and u.password = 'test'"
我得到用户值


我做错了什么?

从基本活页夹的hibernate日志判断。变量username和password在开始和结束处包含两个双引号


查看调试器中的变量或尝试硬编码setParameter方法中的值。

是否启用show\u sql查看被触发的查询?是:它是:选择users0\uID作为id0\u0,选择users0\u0.password作为password0\u0,users0_u0.username作为username0_0来自users0_0,其中users0_0.username=?和users0_2;u.password=?能否将setParameter更改为setString?可能问题在于识别用户名和密码对象的类型。这些物体是字符串吗?是的,结果是一样的:是的,我几分钟前就注意到了。傻我:P。但是谢谢