簡體   English   中英

如何使用條件在休眠模式下編寫“ where”查詢

[英]How to write a 'where' query in hibernate using criteria

讓我考慮一個簡單的SQL查詢

select username from tbl_customer where username="user" and password="12345";

如何使用條件在休眠模式下編寫此查詢

謝謝。 希望能得到積極的回應。

首先,您必須創建Criteria對象,然后需要將where子句條件傳遞給Criteria對象,還必須設置投影屬性以選擇特定的列數據。

通過查看您的SQL查詢,

select username from tbl_customer where username="user" and password="12345";

我相信您想從表tbl_customer獲取特定的列username 這可以使用Projections完成。 您必須設置所需的列數據的projection屬性。

Criteria criteria = session.createCriteria(MyClass.class)
  criteria.setProjection(Projections.property("username"));
  criteria.add(Restrictions.and(Restrictions.eq("username", user),Restrictions.eq("password", 12345))
);
List<String> userNames = criteria.list();

這將僅返回該表中的用戶名列數據。

Criteria criteria = session.createCriteria(Customer.class) 
.add(Restrictions.eq("username", 
"user").add(Restrictions.eq("password","12345")); 

請注意,我確實將實體名稱視為tbl_customer Customer ,並且您正確創建了會話。

暫無
暫無

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

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