0

次のエンティティがあります。

@Entity
public class Question {

    @Id
    @GeneratedValue
    private Integer id;

    private String content;

    private boolean visible;

    private Date displayDate;

}

データベースで常に表示できる質問は 1 つだけです。dataTable のリストの要件は、最初の行が表示されている質問である必要があり、他の行は displayDate で順序付けされている必要があることです。何か案が?

4

1 に答える 1

1

並べ替えは通常、JSF(ビュー)側ではなく、DB(モデル)側で実行されます。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 に答える