将Hibernate ResultTransformer结果与原始Hibernate对象结合使用

时间:2017-05-08 16:03:30

标签: java hibernate hql resulttransformer

以下是我要做的事情: 1.发送HQL以填充"用户" Hibernate对象。 2.发送本机SQL以从" User"中的非常大的数据列中检索较小的数据集。表。 3.将映射的Hibernate对象与步骤2中的列结果组合。

我读到ResultTransformer可用于将结果集从2映射到Hibernate实体,在我的例子中," User"实体。有没有办法将ResultTransformer映射的结果插入到我的原始用户实体?

以下是一些例子:1。HQL - 来自用户。我们为用户使用Hibernate映射文件并使用字节码增强,我们设置" xmlStringColumn lazy = true"。 String hql =" FROM User&#34 ;;          List users = session.createQuery(hql).list(); 2.我们发送查询
     列出resultXML = s.createSQLQuery(   " XML SQL获取特定数据")   .setResultTransformer(Transformers.aliasToBean(User.class))   .LIST();

用户dto =(用户)resultWithAliasedBean.get(0); //将需要代码将用户dto从SQL组合到原始

1 个答案:

答案 0 :(得分:0)

ResultTransformer将一对多关系对象捆绑为单个对象。 例如,

A类{

设置b = new Hashset();

}

因此,如果您从A类开始查询并在B上添加联接,那么最终将创建A的多重对象。

ResultTransformer将数据捆绑到单个A对象中。

请您发布代码,以便我们了解您的实际情况!