0

我有以下实体:

@Entity
public class Question {

    @Id
    @GeneratedValue
    private Integer id;

    private String content;

    private boolean visible;

    private Date displayDate;

}

数据库中始终只能看到一个问题。dataTable 中列表的要求是第一行必须是可见的 Question,其他行必须按 displayDate 排序。任何的想法?

4

1 回答 1

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
于 2012-11-12T15:47:17.500 回答