【问题标题】:is it possible to use JPA repository and Ignite repository simultaneously?是否可以同时使用 JPA 存储库和 Ignite 存储库?
【发布时间】:2020-06-24 10:53:23
【问题描述】:

我想使用 JPA 存储库和 Ignite 存储库来 CRUD 数据。 另外,我想将 Ignite 内存数据库与 RDB(如 mysql、mariaDB、postgresql 等)连接起来。

是否可以同时使用 JPA 存储库和 Ignite 存储库? 如果可能的话,我希望知道如何制作它们。

Iginte 存储库的意思是,接口 IgniteRepository。 例如,

@RepositoryConfig(cacheName = "DogCache")
public interface DogRepository extends IgniteRepository < Dog, Long > {
 List < Dog > getDogByName(String name);
 Dog getDogById(Long id);
}

【问题讨论】:

  • 什么是“Ignite 存储库”?在 Ignite 中访问数据的正常方式是 Cache API (JSR-107)。
  • 我编辑了问题并添加了ingite repository的含义

标签: java spring-boot jpa spring-data-jpa ignite


【解决方案1】:

是的,它应该可以工作。

重要的是缓存名称(在您的情况下为DogCache)。一旦您知道 Ignite 缓存名称,您就可以通过任何 API 访问它,例如 JPA、Spring Data、缓存 API、SQL(如果为该缓存配置了索引)、REST 等。

如果 JPA 和 Spring Data 都配置为使用相同的缓存,并且它们使用相同的 POJO 来访问它,它们应该一起工作。

当然,如果其中任何一个有二级缓存之类的东西,它们可能会不同步,但这会发生在 Apache Ignite 的责任范围之外。

请参阅blog post about Ignite JPA 以了解缓存名称如何映射到存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2016-08-06
    相关资源
    最近更新 更多