0

から取得しようとしてbookTitleauthorますBook

String hqlSelectBook = "select bookTitle,author from Book where bookID = " + bookIdList.get(size-1);
List<Object[]> tmp = sess.createQuery(hqlSelectBook).list();

各フィールドを印刷するにはどうすればよいですか?

4

3 に答える 3

1

次のコードを使用して印刷します。

List<Object[]> results = sess.createQuery(hqlSelectBook).list();

for (Object[] result : results) {
    String bookTitle = (String) result[0];
    String author = (String) result[1];
    

}
于 2013-06-29T10:03:16.220 に答える
1

Query.list()のドキュメントから

クエリ結果をリストとして返します。クエリに行の前に複数の結果が含まれている場合、結果は Object[] のインスタンスで返されます。

だから私の推測では、上の各アイテムを反復処理することですlist。それはあなたに行を与えるでしょう。次に、各要素でobject[0]あなたbookTitleobject[1]与え、 を与えますauthor。したがって、それらをキャストしてstring使用します。

コードは次のようになります

for (int i = 0; i< tmp.size();i++) {
        System.out.prinln((String)(list.get(i)[0]));
        System.out.prinln((String)(list.get(i)[1]));   
}

NB ..ハイバーネットの経験はありません。この質問に基本から答えました。

于 2013-06-29T10:03:41.457 に答える
0
   for(Object[] i:temp){
       System.out.println("book title"+(String)i[0]);
       System.out.println("author"+(String)i[1]);
   }
于 2013-06-29T10:06:44.260 に答える