我有以下实体:
@Entity
public class Question {
@Id
@GeneratedValue
private Integer id;
private String content;
private boolean visible;
private Date displayDate;
}
数据库中始终只能显示一个问题。 dataTable中列表的要求是第一行必须是可见问题,其他行必须由displayDate排序。有什么想法吗?
答案 0 :(得分:1)
排序通常在DB(模型)端执行,而不是在JSF(视图)端执行。您的SQL(以及等效的JPQL)查询应该以这样的方式编写,即它返回完全您需要的行,而无需任何必要的后处理(DB在选择作业中比Java /更高效) JSF)。
用简单的SQL术语来说,那就是
(...) ORDER BY visible DESC, displayDate ASC
如果你正在使用JPA,你肯定能够为它提取正确的JPQL语法
(...) FROM Question q (...) ORDER BY q.visible DESC, q.displayDate ASC