2015-02-09 63 views
0

當Hibernate返回一個現有實體列表時,它很容易。但使用投影時,列表的類型不可打印。如何漂亮地打印Hibernate查詢結果?

List list = session 
      .createCriteria(Product.class) 
      .setProjection(Projections.projectionList() 
       .add(Projections.property("name")) 
       .add(Projections.property("price")) 
      ) 
      .list(); 
    System.out.println(list); 

結果:

[[Ljava.lang.Object;@12365c88, [Ljava.lang.Object;@6105f8a3, [Ljava.lang.Object;@2237bada, [Ljava.lang.Object;@77e2a6e2, [Ljava.lang.Object;@5710768a, [Ljava.lang.Object;@199e4c2b, [Ljava.lang.Object;@6e0d4a8, [Ljava.lang.Object;@64d7b720, [Ljava.lang.Object;@30272916, [Ljava.lang.Object;@5bb3d42d] 

是否有打印Hibernate的結果任何API?

+0

這是一個列表'。您可以在列表的每個元素上循環並使用Arrays.toString()。 – 2015-02-09 20:05:04

+0

我發現所有發送到數據庫的查詢都可以檢查是否爲JDBC庫設置了TRACE日誌級別。 – 2015-02-09 20:20:33

回答

1

您可以使用java.util.Arrays轉換爲字符串。 例如: Arrays.toString(list)