簡體   English   中英

Hibernate,按id或唯一列選擇

[英]Hibernate, select by id or unique column

我正在使用hibernate for Java,我希望能夠通過數據庫中的id或名稱選擇用戶。

關於Hibernate的好處是它通過id緩存結果,但我似乎無法按名稱進行緩存。

static Session openSession = Factory.openSession();

public static User GetUser(int Id) {
    return (User) openSession.get(User.class, new Integer(Id));
}

public static User GetUser( String Name ){
   return (User) openSession.createCriteria( User.class ).
           add( Restrictions.eq("username", Name) ).
           uniqueResult();

}

如果我多次使用GetUser(1),hibernate將只顯示它第一次執行。

但每次我使用GetUser(“user1”)時,hibernate都會顯示它正在對數據庫執行新查詢。

將字符串標識符緩存的最佳方法是什么?

在按名稱查詢時,您需要使用查詢緩存來避免數據庫訪問。

http://www.javalobby.org/java/forums/t48846.html

暫無
暫無

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

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