簡體   English   中英

帶有命名參數的休眠查詢不給出結果

[英]hibernate query with named parameter giving no result

我在Spring MVC中使用休眠命名參數時遇到問題

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 您的變量usernamepassword包含兩個雙引號(在開頭和結尾)。

查看調試器中的變量,或嘗試對setParameter方法中的值進行硬編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM