2011-05-18 25 views
2

在休眠状态下,可能会将查询结果获取到映射的数据库对象。hibernate查询结果到预定义的对象?

是否可以创建一个非持久对象并将查询结果导入到此对象中?

例如

session.createSQLQuery(select a,b,c from table).list.addEntity(myclass.class) 

如果MyClass的是:

public class myclass{ 

private int a; 

private int b; 

private int c; 
. 
. 
. 
} 

回答

4

您可以使用AliasToBeanResultTransformer

session.createSQLQuery("select a,b,c from table") 
    .setResultTransformer(new AliasToBeanResultTransformer(myclass.class)) 
    .list(); 
+0

的感谢!这是我需要的。 – AAaa 2011-05-18 15:01:45

+0

我如何做到这一点,如果'一个'是一个外键到另一个表的列,我希望该表的记录抓取到一个对象,但该对象也是一个非持久对象? – AAaa 2011-06-13 11:07:08

+0

@dan:我想你需要创建一个自定义的'ResultTransformer'。 – axtavt 2011-06-13 11:39:32

0

显然,Hibernate将只与被映射的时间提前班工作。

相关问题