使用带有 return-join 的 Hibernate 本机查询重复行

2024-03-31

我正在使用 Hibernate (3.3.x),并且有两个实体:

public class FtChargeAcctPkgDtl {
    private FtChargeAcctPkgDtlId id;
    private Set<FtChargeAcctPkgRate> ftChargeAcctPkgRates;
}

and

public class FtChargeAcctPkgRate {
    private FtChargeAcctPkgRateId id;
}

(为了简单起见,保留其他属性和设置器)。

我有一个本机查询:

<sql-query name="readSymbolsFtPackages">
    <return alias="pkgDtl" class="somepackage.FtChargeAcctPkgDtl"/>

    <return-join alias="pkgRate" property="pkgDtl.ftChargeAcctPkgRates"/>
    <![CDATA[
    SELECT {pkgDtl.*}, {pkgRate.*}

    FROM ft_charge_acct_pkg_dtl pkgDtl

    JOIN ft_charge_acct_pkg_rate pkgRate
      ON pkgRate.master_seq_no = pkgDtl.master_seq_no -- just primary key
        AND pkgRate.pkg_id = pkgDtl.pkg_id
]]>
</sql-query>

该查询应该(我希望它)为 pkgDtl 中的每个项目返回一行,并填写 FtChargeAcctPkgDtl#ftChargeAcctPkgRates。但实际上它为 ft_charge_acct_pkg_rate 中的每个项目返回一行。

假设主 (pkgDtl) 表中有 5 行,连接表中有 50 行(单个 pkgDtl 平均有 10 个 pkgRates)。当我使用调用查询时

Query query = session.getNamedQuery("readSymbolsFtPackages");
query.list();

我得到 50 行。然而其中 45 个是重复的。我想要获得这 5 个 pkgDtl,并且每个 pkgDtl 都填写了 pkdRates。有没有办法在休眠状态下做到这一点?


Use:

Query query = session.getNamedQuery("readSymbolsFtPackages");
query.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
query.list();

Regards

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用带有 return-join 的 Hibernate 本机查询重复行 的相关文章

随机推荐

  • 使用C#设置全局热键

    I need to capture a key press when my program is not in focus i e Ctrl Alt J and trigger an event in my program 到目前为止 我发
  • LINQ 查找大于/小于输入的最接近的数字

    假设我有这个号码列表 List
  • NTFS 提供哪些可靠性保证?

    我想知道 NTFS 为存储在其上的数据提供了什么样的可靠性保证 例如 假设我正在打开一个文件 追加到末尾 然后关闭它 并且在此操作过程中随机时间断电 我能找到完全损坏的文件吗 我这么问是因为我刚刚遇到了系统锁定 并发现其中两个正在附加的文件
  • Docker - 无法准备上下文:无法评估 Dockerfile 路径中的符号链接:GetFileAttributesEx

    我今天刚刚下载了适用于 Windows 10 64 位的 Docker Toolbox 我正在浏览教程 我在尝试使用 Dockerfile 构建映像时收到以下错误 Steps 推出 Docker 快速入门终端 创建后测试docker 按照
  • “自动打包存储库以获得最佳性能”是什么意思?

    我的 git 存储库有问题 在过去的几天里 每当我向服务器推送时 我都会收到此消息 自动打包存储库以获得最佳性能 并且它似乎不会消失并返回 shell 我还尝试签出一个新分支 然后对我之前的分支进行变基 然后执行git gc删除未使用的历史
  • 如何确定 NSDate 是否是工作日?

    我怎样才能知道是否NSDate是工作日吗 也就是说 根据用户当前的区域设置和日历设置是否是周末 所以不硬编码为周一到周五 NSCalendar has a firstWeekday财产 但这似乎只是一种表象 美国是周日 英国是周一 编辑 我
  • MySQL 分组依据/排序依据索引

    请参阅下面的查询 我应该在表上创建什么索引 以便查询将使用该索引并避免使用临时和文件排序 我尝试了许多不同的索引组合并阅读这里的建议 http mysqldba blogspot com 2008 06 how to pick indexe
  • 将 Unique-ids 传递给 Javascript 以实现水平滚动

    我正在尝试开发一个类似于 Netflix 的水平滚动界面 一切都显示并正常工作 但由于某种原因 Javascript 只滚动浏览索引页面中的第一个出版商书籍 当我尝试悬停和滚动任何其他出版商书籍时 它只会水平滚动第一出版商书籍 我知道 sc
  • 具有多个条件的 Linq where 子句

    此方法返回通用列表 但它有多个条件来获取选择 我只是用 if else if else if 来写这个 我的意思是这么多 if else 有没有更短的方法来做到这一点 谢谢 public List
  • 使用 HttpURLConnection 设置自定义标头

    我只是在做一个GET使用 Rest API 请求HttpURLConnection 我需要添加一些自定义标头 但我得到了null同时试图找回他们的价值观 Code URL url try url new URL http www examp
  • 使用指向单个值的指针作为数组

    请注意 该问题已针对 注册 变量进行了扩展 简而言之 我的问题是 这个合法的 C 代码是否合法 按照不同 ISO 9899 C 规范的标准字母 最好在标准的文字中加上 证明 int a 0 int b a 0 const int c 0 b
  • 如何在ajax请求中将带有formdata的数组发送到mvc操作

    我试图将带有表单数据的数组发送到带有 Ajax 请求的操作 但每当我这样做时 我都会收到表单数据和空数组 scope SubmitForm function var sLangs supportedLanguages data kendoM
  • D3 变更检测如何工作?

    如果我有一个 JSON 对象数组 D3 如何确定哪些进入enter set 如果我有一个对象数组 如下所示 var data label a value 1 label b value 3 label c value 2 然后我将它绑定到一
  • 如何实现Actor.Ask以一定速率控制数据流

    我使用了下面的方法 但它使用了大量的 CPU 所以我想使用 Actor Ask 而不是下面的方法 任何人都可以帮助我如何使用 Actor Ask KafkaConsumer PlainSource consumerSettings subs
  • JavaScript:没有alert()函数就无法工作

    可能的解决方案 https stackoverflow com questions 11309802 javascript only works if i do an alert 各位程序员大家好 我写信给您是为了请求您帮助解决我最近遇到的
  • 沉默 Spork 的 Rails 模式加载

    我在 Rails 3 0 环境上运行 rspec 我们刚刚切换到在内存数据库中使用 sqlite3 进行测试 要使其正常工作 您需要在每次运行时加载架构 这样做的问题是您会从模式加载中获得大量输出 根据this http www rubyi
  • 使用 JavaScript(node.js)“反转”正则表达式

    用这样的正则表达式 w 我可以匹配字符串a q 有没有惯用的方法来生成与 JS 中的某些正则表达式匹配的所有字符串 不要考虑无限的情况 我只是想简单地描述一些可能的符号集 一些有意义的东西而不是 var s 0123456789 lt gt
  • Visual Studio中有没有宏可以获取TFS Sourcecontrol的根目录?

    Visual Studio中是否有任何内置宏可以获取TFS Sourcecontrol Root目录 例如 就像 ProjectDir 一样 我会使用 TFSSourceControlRoot 或类似的东西 我需要这个的原因是为了在 xco
  • 在 Python 中将 .sav 文件转换为 .csv 文件

    我想在Python中将 sav文件的内容转换为 csv文件 我编写了以下代码行来访问 sav 文件中变量的详细信息 现在 我不清楚如何将访问的变量数据写入带有标题的 csv 文件 import scipy io as spio on2fil
  • 使用带有 return-join 的 Hibernate 本机查询重复行

    我正在使用 Hibernate 3 3 x 并且有两个实体 public class FtChargeAcctPkgDtl private FtChargeAcctPkgDtlId id private Set