0

2 つのテーブルがあるとします。表 A と表 B。

テーブル A には {id, name, des} があります テーブル B には {id, name, place} があります

a.idがb.idに等しいname、id列を表示しようとしています。

Hibernate がレコードを正しく表示していません。

誰かが解決策を手伝ってくれますか?

ありがとう、カシール

4

2 に答える 2

1

このタイプのクエリは次のように記述できます。

 Query qry = session.createQuery("select a.name, a.id from A a, B b where a.id = b.id");
 List l = qry.list();
 Iterator it = l.iterator();
 while(it.hasNext())
 {
     Object o[] = (Object o[])it.next();
     System.out.println("name = "+o[0]+" id = "+o[0]);

 }

この場合、hibernate は各行の複数の列の値をオブジェクト配列に内部的に保存し、これらのオブジェクト配列を List コレクションに保存します。コレクションの反復時に、結果をオブジェクト配列に型キャストする必要があります。

乾杯とハッピーコーディング!

于 2012-12-06T15:07:30.757 に答える
0

おそらく、テーブルのエイリアスを作成する必要があります。

select a.name, a.id from A a join B b on a.id = b.id
于 2012-12-06T15:07:43.850 に答える