簡體   English   中英

如何使用Session.get()使用Hibernate查詢電子郵件ID?

[英]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.

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