要するに、選択したクエリには含まれていないからです。なぜあなたはSQLクエリを書いているのか、そしてbeanトランスフォーマーを使っているのか分かりませんか?これは、休止状態を使用する非常に奇妙な方法です。結局のところ、あなたが戻ってきたのは、休止状態の管理されたエンティティではないということです。それは、選択した特定のものがマップされているオブジェクトです。休止状態を使用する
「ノーマル」/「正しい」方法は、このようなものになるだろう:
private User getUser(int id, String userType)
{
User result;
session = HibernateUtil.getWilsonsSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("select u from User u
where u.id = :id and u.role = :role");
query.setParameter("id", id);
query.setParameter("role", userType);
result = (User)query.uniqueResult();
session.getTransaction().commit();
return result;
}
次に何を取り戻すことは、すべてのマップされたプロパティが読み込まなければなりませんHibernateのエンティティです。
は(個人的にはどちらか、そのようにuniqueResultを使用しますが、私はそれが大きく、スタイルの好みで認めることを喜んでいないでしょう。)
HQLに切り替える魅力のように働きました!どうもありがとうございました!!! – AnarchoTroll