Java Hibernate Criteria orderBy属性或子类的属性(子类可以为null)

时间:2014-07-23 09:05:46

标签: java hibernate criteria

我有两个具有以下结构的类:

class SuperItem{
    SubItem subItem;
    Date dateCreated;
}

class SubItem{
    Date dateModified;
}

有时,属性'subItem'在SuperItem对象中将为null。

我希望使用dateCreated或subItem.dateModified的最新值作为lastRecentActivity来订购SuperItems列表。

以下是我尝试过的一些内容:

Criteria criteria = getSession().createCriteria(SuperItem.class);

criteria.setProjection(Projections.projectionList()
            .add((Projections.property("subItem").equals(null))?
            Projections.property("dateCreated").as("lastActivity"):
            Projections.property("subItem.dateModified").as("lastActivity")));

criteria.addOrder(Order.desc("lastActivity"));

当然,这是不正确的。但有人知道如何正确地订购这个吗?

0 个答案:

没有答案