1

次のコードを使用して、IDを使用して行をクエリできます。

Session session = (Session) HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();

result = (T) session.get(clazz, id);

しかし、私は何か違うことを達成したいと思っています。特定の列を宣言して、この列の値に一致するすべての行を取得できないのはなぜですか(または可能ですか?)。このような:

Session session = (Session) HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();

result = (T) session.get(clazz, "column", "column_value");
4

1 に答える 1

1

Criteria APIまたはHQLで簡単に実装できます。

Hibernate L1 キャッシュを使用したUnit Of WorkおよびIdentity Mapパターンの実装のために、Hibernate が非 id 列によるエンティティーの取得をサポートしていないとします。

また、 Session#get メソッドと Session#loadメソッドの違いも考慮してください。

于 2013-02-03T11:09:31.670 に答える