【问题标题】:hibernate criteria for multiple select on same table在同一张表上进行多项选择的休眠条件
【发布时间】:2013-03-11 08:42:39
【问题描述】:

我有一个案例,我需要找出不同版本的表的同一字段之间的差异。

例如:
我有一个名为 BankAccount 的表,其中包含

之类的字段

acount_no , 平衡 , 日期等

现在我想要实现的基本上是在此表上针对两个不同的日期运行选择,并找出日期 1 和日期 2 的余额字段值之间的差异。

更像: a.balance - b.balance as balance_difference

我知道,我可以使用一个作为独立标准来运行这两个选择,我至少可以获得两个日期之间的共同记录。我的问题是找到差异并在标准中使用“别名”,因为我以前从未这样做过,也无法从其他在线资源中理解或收集太多信息。
非常感谢任何帮助,并提前感谢大家。

【问题讨论】:

    标签: hibernate criteria hibernate-criteria


    【解决方案1】:

    据我了解,您想要实现的是 hql 类似于以下内容

    select (coalesce(case when a.date=?1 and a.account_no=?3 then a.balance end), 0) - coalesce(case when a.date=?2 and a.account_no=?3 then a.balance end), 0) AS balance_difference from BankAccount a
    

    【讨论】:

    • 我可以使用普通的 sql 字符串获得结果,但我正在寻找一些帮助,我可以使用 Hibernate Criteria API 实现相同的目标。
    猜你喜欢
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2011-05-05
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2017-04-17
    相关资源
    最近更新 更多