gpt4 book ai didi

java - 带有命名参数的 hibernate 查询没有给出结果

转载 作者:行者123 更新时间:2023-12-01 08:59:55 25 4
gpt4 key购买 nike

在 Spring MVC 中使用 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'"

我获取用户值。

我在这里做错了什么?

最佳答案

根据 basic-binder 的 hibernate 日志判断。您的变量 usernamepassword 包含两个双引号(在开头和结尾)。

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

关于java - 带有命名参数的 hibernate 查询没有给出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com