这是我正在尝试做的: 1. 发送一个 HQL 来填充"用户"休眠对象。 2. 发送本机 SQL 以从"用户"表中的非常大的数据列中检索较小的数据集。 3. 将映射的休眠对象与步骤 2 中的列结果合并。
我读到ResultTransformer可用于将结果集从2映射到Hibernate实体,在我的例子中是"User"实体。有没有办法将结果转换器映射的结果插入到我的原始用户实体?
下面是一些示例:1. HQL - 来自用户。我们使用 Hibernate 映射文件作为用户并使用字节码增强,我们设置 "xmlStringColumn lazy=true"。 字符串 hql = "来自用户"; 列表用户 = session.createQuery(hql).list(); 2. 我们发送一个查询
列表结果XML = s.createSQLQuery( "用于获取特定数据的 XML SQL") .setResultTransformer( Transformers.aliasToBean(User.class)) .list();
Userdto =(User) resultWithAliasedBean.get(0); 将需要代码将用户 dto 从 SQL 组合到原始
ResultTransformer 将一对多关系对象捆绑到单个对象中。 例如
A类{
设置 b=new Hashset();
}
因此,如果您从类 A 开始查询并在 B 上添加连接,它最终将创建 A 的多个对象。
ResultTransformer 将数据捆绑到单个 A 对象中。
您能否发布代码,以便我们了解您要实现的目标!!