2

クエリなしで Hibernate で SELECT * FROM を実行する方法がわかりません。つまり、次のように smt を実行できます。

Session session = ...;
JavaBean jb = ...;
...
session.save(jb); // I'm adding jb
session.update(jb); // I'm updating jb
session.delete(jb); // I'm deleting jb

しかし、セッションから選択する方法がわかりません。私が知っている唯一の方法は

list = session.createQuery("from JavaBean").list();
4

3 に答える 3

3

JavaBeanのすべてのインスタンスを取得するには、HibernateCriteriaAPIを使用します。

Criteria criteria = session.createCriteria(JavaBean.class);
List javaBeans = criteria.list();
于 2013-02-15T11:40:57.023 に答える
2
Criteria crit=session.createCriteria(Class object of a pojo class)
EX:
Criteria crit=session.createCriteria(Employee.class)
List list=crit.list();

上記の基準が実行されると、すべての従業員、つまりデータベースから Employee pojo クラスのすべてのオブジェクトがロードされます

内部的に休止状態は Employee の各行をオブジェクト Employee クラスに格納し、すべての Employee クラス オブジェクトはリストに格納され、最後に休止状態はそのリスト オブジェクトを Java アプリケーションに返します。

コレクション (List) を繰り返しながら、各オブジェクトを pojo クラス型に型キャストする必要があります。

 Iterator it=list.iterator();
while(it.hasNext())
 {
  Employee e=(Employee)it.next();
 ..............
 ..............

 }
于 2013-03-22T05:32:10.320 に答える
1

私の質問に対する答えは次のとおりです。

List selectAll(Class clazz) {
    return session.createCriteria(clazz).list();
}

詳しくはhttp://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.htmlをご覧ください。

オーバーミューレンに感謝

于 2013-02-15T11:39:11.537 に答える