如何将Hibernate结果对象转换为字符串?

时间:2014-02-17 13:30:18

标签: java hibernate orm casting

我实现了一个hibernate查询,并希望将结果分配给我的一个类变量。

问题是hibernate查询的结果似乎是对象或其他东西,因为结果的syso看起来很奇怪:

[exercise.java.basics.storage.WarehouseProduct@77f6d2e3]

这是执行查询的方法:

 public void updateStock() {

    Session session = getSessionFactory().getCurrentSession();

    Criteria criteriaNail = session.createCriteria( WarehouseProduct.class );
    criteriaNail.add( Restrictions.like( "productName", String.valueOf( Product.NAIL ) ) );
    List nailCountResult = criteriaNail.list();

    System.out.println( nailCountResult.toString() );

    }

数据库只有2个列,我需要的值在第二个列中。 我想做的是这样的事情:

this.nailCount  = nailCountResult.[XYZ --> Get the value from the second column];

这样的事情可能吗?如何将这些结果对象转换为可读的东西?

最好的问候 daZza

2 个答案:

答案 0 :(得分:3)

首先,我建议将行更改为

 List<WarehouseProduct> nailCountResult = criteriaNail.list();

现在它不是ResultSet,它是WarehouseProduct对象的列表。

您可以使用索引访问每个对象。

您可以遍历结果列表并将其视为

 for( WarehouseProduct wp : nailCountResult )   {
   System.out.println( wp.nailCount);    
  }

作为旁注,你在打破封装。请看一下。

答案 1 :(得分:0)

你需要的就是这个

String value=nailCountResult.get(0).getXXXX();