0

这是我想要做的: 1. 发送一个 HQL 来填充“用户”Hibernate 对象。2. 发送原生 SQL 以从“用户”表的一个非常大的数据列中检索一个较小的数据集。3. 将映射的 Hibernate 对象与步骤 2 中的列结果相结合。

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

下面是一些示例: 1. HQL - 来自用户。我们为用户使用 Hibernate 映射文件并使用字节码增强,我们设置“xmlStringColumnlazy=true”。字符串 hql = "来自用户"; 列出用户 = session.createQuery(hql).list(); 2.我们发送一个查询
List resultXML = s.createSQLQuery("XML SQL 获取特定数据") .setResultTransformer( Transformers.aliasToBean(User.class)) .list();

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

4

1 回答 1

0

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

A类{

设置 b=new Hashset();

}

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

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

您能否发布代码,以便我们了解您想要实现的目标!!!

于 2017-05-08T17:33:31.177 回答