3
Java 용 최대 절전 모드를 사용하고 있으며 데이터베이스에서 ID 또는 이름별로 사용자를 선택할 수 있기를 원합니다.최대 절전 모드, ID 또는 고유 한 열로 선택
최대 절전 모드에 대한 좋은 점은 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)을 여러 번 사용하면 최대 절전 모드가 처음 실행 된 것으로 표시됩니다.
그러나 GetUser ("user1")를 사용할 때마다 최대 절전 모드는 데이터베이스에 새 쿼리를 실행하고 있음을 보여줍니다.
문자열 식별자를 캐시하는 가장 좋은 방법은 무엇입니까?