Hibernate Criteria 按特定状态排序

2023-12-24

你好 在数据库中,我们有一个 PRSN_ADDRESS 表,其中包含许多地址。用户会在网格中看到这些地址。要求是首先显示与该用户的状态关联的地址,然后显示所有其他状态。

例如,假设该表有 10 条记录,其中 5 个地址的州为马里兰州,2 个来自宾夕法尼亚州,3 个来自新泽西州。现在,如果用户与马里兰州关联,我们需要显示所有 10 个地址,但马里兰州地址应按任意顺序显示在前 5 个地址中,然后显示其他 5 个地址。

我们正在使用 Hibernate Criteria。我没有研究过公式,不确定这是否有助于解决问题。如果有人能指出我正确的方向,那就太好了。我很感激。

Thanks

Harish


您可以按条件值订购...

(NHibernate 方式,有人知道 Hibernate 中的等效方式吗?)

.AddOrder(Order.Asc(
    Projections.Conditional(
         Restrictions.EqProperty("addr.state", "user.state"), Projections.Constant(0), Projections.Constant(1))))
.AddOrder(Order.Asc("addr.state"))

翻译为...

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

Hibernate Criteria 按特定状态排序 的相关文章

随机推荐