2017-05-08 48 views
0

以下是我正在尝试执行的操作: 1.发送HQL以填充“User”Hibernate对象。 2.发送本机SQL以从“User”表中非常大的数据列中检索较小的数据集。 3.将映射的Hibernate对象与步骤2的列结果相结合。将Hibernate ResultTransformer结果与原始Hibernate对象结合起来

我读到ResultTransformer可以用来将结果集从2映射到Hibernate实体,在我的情况下是“User”实体。有没有办法将ResultTransformer映射的结果插入我的原始用户实体?

以下是一些示例:1. HQL - 来自用户。我们为User使用Hibernate映射文件并使用Bytecode Enhancement,我们设置了“xmlStringColumn lazy = true”。 String hql =“FROM User”; List users = session.createQuery(hql).list(); 2.我们将查询发送
列表resultXML = s.createSQLQuery( “XML SQL得到具体的数据”) .setResultTransformer(Transformers.aliasToBean(User.class)) .LIST();

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

回答

0

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

类A {

集B =新的Hashset();

}

所以如果你开始从A类查询,并添加基于B加入它会创建A.

使用ResultTransformer束数据为单一目的的multipe对象告终。

你可以请张贴代码,这样我们就可以了解你是什么时候达到成功!

+0

以下是一些示例: – shaselai

+0

以下是一些示例:1. HQL - 来自用户。我们为User使用Hibernate映射文件并使用Bytecode Enhancement,我们设置了“xmlStringColumn lazy = true”。 String hql =“FROM User”; List users = session.createQuery(hql).list(); 2.我们发送查询 List resultXML = s.createSQLQuery( “XML SQL to get specific data”) .setResultTransformer(Transformers.aliasToBean(User.class)) .list(); 用户dto =(用户)resultWithAliasedBean.get(0); //将需要代码将用户dto从SQL组合到原始 – shaselai

+0

检查用户的选择列表名称和属性名称是否相同 –

相关问题