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を使わずに検証したが同じ結果になった。こういうもの?