Spring Cloud gcp DatastoreRepository 初始化,无需自动配置或注释



我正在尝试使用 gcp 数据存储示例,但我想手动初始化存储库。 类似于另一个SO中的SimpleJpaRepository。是否可以初始化数据存储存储库?

使用JPA存储库的示例可以简单地执行以下操作:

EmployeeRepository employeeRepository = new JpaRepositoryFactory(entityManager( .getRepository(EmployeeRepository.class(;

实体管理器可以通过休眠会话工厂注入。所有实体类都可以注册到会话工厂的注册表中。

现在,为了初始化/注册 EmployeeRepository: 公共接口 EmployeeRepository 扩展 DatastoreRepository

注意:运行代码的环境不支持自动连线/注释。

我可以使用以下内容使其工作:

DatastoreFactory datastoreFactory = new DefaultDatastoreFactory();
Supplier<Datastore> datastore = () -> datastoreFactory.create(DatastoreOptions.getDefaultInstance());

//Register Datastore Entity classes
DatastoreMappingContext datastoreMappingContext = new DatastoreMappingContext();
datastoreMappingContext.setInitialEntitySet(new HashSet<>(Arrays.asList(Employee.class)));
ObjectToKeyFactory objectToKeyFactory = new DatastoreServiceObjectToKeyFactory(datastore);
DatastoreEntityConverter datastoreEntityConverter = new DefaultDatastoreEntityConverter(datastoreMappingContext, objectToKeyFactory);
DatastoreOperations datastoreOperations = new DatastoreTemplate(datastore,datastoreEntityConverter, datastoreMappingContext, objectToKeyFactory);
EmployeeRepository employeeRepository  = new SimpleDatastoreRepository<>(datastoreOperations, Employee.class);
employeeRepository.count(); // findAll() etc

相关内容

  • 没有找到相关文章

最新更新