如何为Hibernate的查询响应创建对象?

时间:2012-12-29 18:25:16

标签: java hibernate

使用扩展HibernateDaoSupport的对象,我在这里运行了一个查询:

List<Object> trialList2 = getSession().createSQLQuery(trialQuery2).list();   

其中,trialQuery2只是一些返回单行的查询。我找回了一个包含一个Object的列表,在Eclipse中检查时看起来像这样:

[some, random, data]

我想创建一个可以容纳我从查询中获取的对象,但是一个可以包含这些字段的简单Javabean对象似乎不起作用。有谁知道为了能够访问这些值我必须做出什么样的对象?

2 个答案:

答案 0 :(得分:2)

实际上Object[]不是Object

List<Object[]> trialList2

根据您选择的查询中的列,您可以从索引

获取值

如果您的查询是select firstname, lastname from employee;

,请说明

Object[0]将是名字

Object[1]将是姓氏。

根据documentation

  

这些将返回一个Object数组列表(Object []),其中包含表中每列的标量值

答案 1 :(得分:0)

U可以替换BEANCLASSNAME的任何类名

List<BEANCLASSNAME> trialList2 = getSession().createSQLQuery(trialQuery2).setResultTransformer(new AliasToBeanResultTransformer(BEANCLASSNAME.class)).list();