私は、クエリから返されたHibernateオブジェクトが信頼できない状況に遭遇しました。信頼できない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()が使用されています。私はget()ショットを与えますが、私はまだそれを求めるときにメンバーをフェッチするために休止状態を期待します... – Jesse
ロードを使用して同じ問題ではない場合、私はget()に変更し、 ) – jottos
私はこれを答えとしてマークしています。私は少し前にload()からget()に変更して以来、問題はありませんでした。 – Jesse