DynamoDBMapper batchLoad передает параметры - PullRequest
0 голосов
/ 25 октября 2018

У DDBMapper есть два способа вызвать batchLoad, отличающиеся разными параметрами передачи.

public Map<String,List<Object>> batchLoad(Iterable<? extends Object> itemsToGet)

public Map<String,List<Object>> batchLoad(Map<Class<?>,List<KeyPair>> itemsToGet)

Я понимаю второй способ, который имеет больше смысла для меня, указав keyPair.Тогда как насчет первого?Так в основном просто передать в списке?Тогда какая разница?Второй явно выглядит сложнее

1 Ответ

0 голосов
/ 26 октября 2018

Представьте себе, что у меня есть объект User с ключом раздела userId и ключом RangeDate.Я хочу пакетной загрузки 3 пользователей.

Во втором варианте я должен создать 3 пары ключей userId и madeDate.В первом варианте я создаю 3 объекта User с помощью userId и createDate и помещаю их в список.

Первый вариант может быть более подходящим, если у меня есть логика в конструкторе User.Например, createDate не может быть более 1 года назад.В этом случае создание пользовательских объектов является преимуществом, поскольку логика конструктора выполняется.В качестве альтернативы мне, возможно, передали объект User из какой-то другой части приложения, и в этом случае создание пар ключей из них - это просто дополнительный код, который мне не нужно писать.

Так что в принципе этого не происходитбольшая разницаЯ подозреваю, что некоторые люди сочтут первый вариант более приятным, поскольку DynamoDBMapper является решением для сохранения объектов, поэтому он должен поддерживать передачу объектов (не неопределенных пар ключей) вокруг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...