我遇到了從查詢返回的Hibernate對象不可靠的情況。不可靠的休眠對象
考慮下面的代碼:
MyClass myClass = myDAO.get(id);
myClass.getId(); //This works
myClass.getName(); //This returns null sometimes, and works sometimes
這裏是我的GET方法:
@SuppressWarnings("unchecked")
public T get(ID id)
{
Session s = getSession();
T entity = (T) s.load(getPersistentClass(), id);
s.disconnect();
return entity;
}
現在,我明白,這個對象是一個代理,並會偷懶裝,但我希望它要麼永遠工作,要麼永遠不工作。我在這裏做錯了什麼?
load()用於性能方面的原因(根據Hibernate團隊的建議)。我會給get()一個鏡頭,但是我仍然期望hibernate在獲取它時請求成員... – Jesse 2009-07-16 15:18:23
我有類似的問題,如果使用load的時候不是相同的問題,我改成get()並且所有的都很好) – jottos 2009-07-16 15:47:59