我有两个具有以下结构的类:
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"));
当然,这是不正确的。但有人知道如何正确地订购这个吗?