Как использовать ObjectifyServices для получения идентификатора модели вместо идентификатора в Java? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу вернуть Id Entity вместо EntityMOdel.Следующая функция вернет список MyModel, однако я хочу вернуть список, где этот список будет идентификатором фильтра MyModel.

public static List<MyModel> getUpdatedMyModel(Long beforeTime) {
    return ofy().load().type(MyModel.class).filter("updatedAt >", beforeTime).list() 

}

1 Ответ

0 голосов
/ 28 июня 2019

Звучит так, будто вы хотите запрос только по ключам:

final List<Key<MyModel>> keys = ofy().load()
        .type(MyModel.class)
        .filter("updatedAt >", beforeTime)
        .keys()
        .list();

Вы можете преобразовать это просто в идентификаторы с потоками Java:

final List<Long> ids = ofy().load()
        .type(MyModel.class)
        .filter("updatedAt >", beforeTime)
        .keys()
        .list()
        .stream()
        .map(Key::getId)
        .collect(Collectors.toList());

Однако, как правило, плохая привычка передавать значения Long в вашем приложении. Объекты Key<?> безопасны от типов.

...