Я сохраняю POJO Person (4 строковых поля — id, name, lastUpdate, Data) в RIAK, а затем пытаюсь получить эти объекты с помощью MapReduce.
Я делаю это очень похоже на документацию Basho:
BucketMapReduce m = riakClient.mapReduce("person");
m.addMapPhase(new NamedJSFunction("Riak.mapByFields"), true);
MapReduceResult result = m.execute();
Collection<Person> tmp = result.getResult(Person.class);
вызывается конструктор Person's String:
public Person(String str){}
(У меня должен быть этот конструктор, иначе я получаю исключение из-за его отсутствия) Там я получаю объект как строку - поля объекта в одной строке со странным разделителем.
почему я не получаю объект, автоматически преобразованный в мой POJO? мне действительно нужно просмотреть строку и десериализовать ее? я делаю что-то не так?