Person POJO (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 の String コンストラクターが呼び出されます。
public Person(String str){}
(このコンストラクターが必要です。そうしないと、欠落しているという例外が発生します) そこで、オブジェクトを文字列として取得します。オブジェクトのフィールドは、奇妙な区切り文字を持つ 1 つの文字列になります。
オブジェクトが自動的に POJO に変換されないのはなぜですか? 本当に文字列を調べて逆シリアル化する必要がありますか? 私は何か間違ったことをしていますか?