我正在使用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”),但是它不起作用。我知道可以为常规属性完成此操作。我想念什么吗?
好的,找到答案了。我尝试了一些我认为不可行的方法,但令我惊讶的是。我正在尝试这个:
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()方法仅可用于主要条件,而不能用于任何关联条件。