1
模型Hibernate的預先加載的是一個user
可以有很多LoginSessions
(LogginSession可以與只有一個用戶)。
我試圖做到的,是把與相關LoginSession(它的令牌查詢提供)的用戶。 所有的,我想只有一個查詢做了,這樣做,我想用預先加載,這裏是我的代碼:與查詢
我有這樣的代碼:
LoginSession loginSession = new LoginSession();
loginSession.setToken(sessionToken);
//Example loginSessionExample = Example.create(loginSession);
Criteria crit = session.createCriteria(User.class);
crit.createAlias("userLoginSession", "session");
crit.add(Restrictions.eq("session.token", sessionToken));
crit.setMaxResults(1);
crit.setFirstResult(0);
crit.setFetchMode("loginSession", FetchMode.JOIN);
List<?> usersList = (List<?>) crit.list(); // first query
if(usersList.size() == 1)
{
User user = (User) usersList.get(0);
LoginSession loginSession = (LoginSession) user.getUserLoginSession().toArray()[0]; //second query
...
的問題是,有2個quire正在執行(請參閱提供的代碼中的註釋)。
我在做什麼毛病我的標準,我怎麼能做出是一個查詢?
感謝