[英]How to query with email id using Hibernate using Session.get()?
我剛剛開始使用Hibernate。 我正在構建一個示例應用程序,我通過他們的電子郵件地址注冊用戶。
當他們登錄時,他們會使用該電子郵件地址和密碼。 現在,如何在查詢電子郵件ID時獲取/檢索記錄/結果?
我的代碼看起來像這樣:
Configuration config = new Configuration();
SessionFactory sessionFactory = config.configure().buildSessionFactory();
Session session = sessionFactory.openSession();
try{
Transaction tx = session.beginTransaction();
LoginBean L = (LoginBean)session.get(LoginBean.class,loginBean.getEmail());
}catch(HibernateException HE){
System.out.println(HE.getMessage());
}
當然, email
字段是一個String
。 Session.get()
以class,integer
為參數。 我有一個Integer
類型的主鍵,但我想使用email
字段進行搜索/獲取。
我該怎么辦呢?
Session.get()
通過其主鍵查找實體。 要通過其他方式查找實體,您需要執行查詢:
LoginBean user = (LoginBean)
session.createQuery("select lb from LoginBean lb where lb.email = :email")
.setString("email", email)
.uniqueResult();
參考文檔中解釋了查詢和JPQL。 閱讀。
使用表的主鍵來執行session.get(),如果表的主鍵不是電子郵件ID,則必須編寫查詢/ criteria / sql查詢以匹配電子郵件密碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.