如何打印查询的字段?

时间:2013-06-29 09:53:27

标签: java hibernate hql

我正试图从bookTitle获取authorBook

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

现在我如何打印每个字段?

3 个答案:

答案 0 :(得分:1)

使用以下代码进行打印。

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

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

}

答案 1 :(得分:1)

来自Query.list()

的文件
  

它将查询结果作为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]));   
}

N.B。 ..我没有hibernet的经验。从基本回答了这个问题。

答案 2 :(得分:0)

   for(Object[] i:temp){
       System.out.println("book title"+(String)i[0]);
       System.out.println("author"+(String)i[1]);
   }