Прежде всего, вам нужно будет хранить временную метку для каждой Message
сущности.Затем, когда это будет сделано:
public List<Person> get20NewestMessages() {
Query q = new Query("Message")
q.addSort("timestamp", SortDirection.DESCENDING);
PreparedQuery pq = ds.prepare(q);
return pq.asList(FetchOptions.Builder.withLimit(20));
}
edit Как вы указали, для этого используется хранилище данных низкого уровня.Вот пример JDO, чтобы попробовать:
Query query = pm.newQuery(Message.class);
query.setOrdering("timestamp desc");
query.setRange(0, 20);
List<Message> messages = (List) query.execute();
(я не проверял это, оно может не работать)