2012-01-25 53 views
0

我有一個小的Java應用程序,通過Hibernate連接到MS Sql Server數據庫。休眠不返回現有數據

我有一個名爲用戶的表,有3個柱子,用戶名,密碼和電子郵件。

我有一個名爲UserModel的模型POJO,它擁有用戶名和密碼的getter和setter。

使用hibernate,我的代碼在數據庫上執行'find',傳入用戶名和密碼並返回一個UserModel對象。

我需要什麼:

我想刪除需要通過密碼進入查詢,例如

List<UserModel> UserModels = null; 
    UserModel model = new UserModel(); 
    model.setName(Username); 
    //model.setPassword(password); <-- want to remove the need for this 
    UserModels = getUserModelManager().find(model); 

即使我知道數據在那裏,我的查詢不會返回任何內容。

任何人都可以建議爲什麼沒有返回?

任何建議歡迎。

+0

我們需要查看UserModelManager#find的樣子。 –

回答

0

我認爲你需要使用HQL。

Query query = session.createQuery("from UserModel where password = :password "); 
query.setParameter("password", password); 
List<UserModel> list = query.list(); 
+0

感謝您的回覆,但我不確定這是我應該這樣做的方式。 一行返回與我通過用戶名和密碼,而不需要寫入任何SQL到我的代碼。 我不明白爲什麼代碼不會返回基於用戶名的行。 – TheCoder

+0

第一個所有這些都不是SQL,而是HQL。這是通過屬性查詢數據的方式。其次,我不知道getUserModelManager是什麼。 –

+0

我重建並重新部署了我的代碼,它的工作原理..僅通過用戶名傳遞了一行。 – TheCoder