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]都会给你bookTitle并且object[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 ..我没有使用hibernet的经验。从根本上回答了这个问题。

于 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 回答