我正在尝试使用 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