tjtjtjのメモ

自分のためのメモです

guestbook#3

guestbook#2で登録したエントリを一覧表示したが、ソートせずに表示していた。
エントリモデルに作成日を追加して、作成日の降順に表示する。

モデル

public class Entry implements Serializable {
:
    private Date createDate = new Date();
    public Date getCreateDate() {
        return createDate;
    }
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
:
}

サービス

public class GuestbookService {
:
    public List<Entry> getEntries() {
        EntryMeta meta = new EntryMeta();
        return Datastore.query(meta).sort(meta.createDate.desc).asList();
    }
:
}

動作確認

http://localhost:8888/guestbook/ の textarea にテキトーな文字列を入力し、submitする。一覧に表示順が新しいものが上に表示されているか確認する。
http://localhost:8888/_ah/admin/ の DataViewer にエントリが登録されているか確認する。

追加した項目で ORDER BY すると、SELECTで取得できない?

        EntryMeta meta = new EntryMeta();
        return Datastore.query(meta).sort(meta.createDate.desc).asList();

guestbook#2で作成したデータに、guestbook#2でカラムcreateDateを追加しcreateDateでソートしたところ、guestbook#2で作成したデータは取得できなかった。で、slim3を使わずに検証したが同じ結果になった。こういうもの?