跳到主要内容

映射仓库

QWen Flash 中英对照 Map Repositories

Map repositories 位于 KeyValueTemplate 之上。使用默认的 PredicateQueryCreator 可以根据给定的方法名派生查询和排序表达式,如下例所示:

@Configuration
@EnableMapRepositories
class KeyValueConfig {

}

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

配置 QueryEngine​

可以更改 QueryEngine 并使用自定义的 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() {
//
}

};
}

}
java
  • 通过 bean 名称引用 KeySpaceStore。