将 Hibernate ResultTransformer 结果与原始 Hibernate 对象组合在一起



这是我正在尝试做的: 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 对象中。

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

最新更新