一尘不染

关联hibernate

hibernate

我正在使用Hibernate3.2,并使用条件来构建查询。我想为多对一关联添加和“排序依据”,但我不知道该怎么做。我猜,Hibernate查询最终看起来像这样:

select t1.a, t1.b, t1.c, t2.dd, t2.ee
from t1
inner join t2 on t1.a = t2.aa
order by t2.dd   <-- need to add this

我已经尝试过criteria.addOrder(“assnName.propertyName”),但是它不起作用。我知道可以为常规属性完成此操作。我想念什么吗?


阅读 226

收藏
2020-06-20

共1个答案

一尘不染

好的,找到答案了。我尝试了一些我认为不可行的方法,但令我惊讶的是。我正在尝试这个:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);

criteria.addOrder(Order.asc("assnName.propertyName"))

但是实际起作用的是:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);
Criteria assnCrit = criteria.createCriteria("assnName");

assnCrit.addOrder(Order.asc("propertyName"));

我假设addOrder()方法仅可用于主要条件,而不能用于任何关联条件。

2020-06-20