最新の安定バージョンについては、Spring Data KeyValue 4.1.0 を使用してください!

マップリポジトリ

マップリポジトリは KeyValueTemplate の上に存在します。デフォルトの PredicateQueryCreator を使用すると、次の例に示すように、指定されたメソッド名からクエリ式と並べ替え式を導出できます。

@Configuration
@EnableMapRepositories
class KeyValueConfig {

}

interface PersonRepository implements CrudRepository<Person, String> {
    List<Person> findByLastname(String lastname);
}

QueryEngine の構成

QueryEngine を変更し、デフォルトの代わりにカスタムのものを使用することもできます。EnableMapRepositories アノテーションを使用すると、対応する属性を介して QueryEngineFactory と QueryCreator を指定して構成できます。QueryEngine は、構成された QueryCreator によって作成されたクエリを処理できる必要があることに注意してください。

ストレージバックエンド構成

KeySpaceStore は、EnableMapRepositories の keySpaceStoreRef 属性と一緒に使用して実際のストレージへの Bean 参照を設定し、mapType 設定をオーバーライドできるシンプルなストレージファサードを提供します。

@Configuration
@EnableMapRepositories(keySpaceStoreRef = "store") (1)
public class MapDbConfiguration {

	@Bean
	KeySpaceStore store(DB db) { (1)

		return new KeySpaceStore() {

			@Override
			public Map<Object, Object> getKeySpace(String keyspace) {
				return db.hashMap(keyspace, ...
			}

			@Override
			public void clear() {
				//
			}

		};
	}

}
1Bean の名前で KeySpaceStore を参照します。