2 つのテーブルがあるとします。表 A と表 B。
テーブル A には {id, name, des} があります テーブル B には {id, name, place} があります
a.idがb.idに等しいname、id列を表示しようとしています。
Hibernate がレコードを正しく表示していません。
誰かが解決策を手伝ってくれますか?
ありがとう、カシール
2 つのテーブルがあるとします。表 A と表 B。
テーブル A には {id, name, des} があります テーブル B には {id, name, place} があります
a.idがb.idに等しいname、id列を表示しようとしています。
Hibernate がレコードを正しく表示していません。
誰かが解決策を手伝ってくれますか?
ありがとう、カシール
このタイプのクエリは次のように記述できます。
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 コレクションに保存します。コレクションの反復時に、結果をオブジェクト配列に型キャストする必要があります。
乾杯とハッピーコーディング!
おそらく、テーブルのエイリアスを作成する必要があります。
select a.name, a.id from A a join B b on a.id = b.id