gpt4 book ai didi

java - Neo4j - Infinispan 组合

转载 作者:行者123 更新时间:2023-12-02 11:15:53 26 4
gpt4 key购买 nike

我们的项目使用 Neo4j 作为长期数据存储。

我们有一个用例,使用数据网格来减轻 Neo4j 的冗余查询,能够直接在 RAM 中执行查询,并在内存中的某些数据发生变化时收到通知。为此,我们发现 Infinispan 非常有趣。

最重要的是,我们看到 Hibernate OGM 可以支持 Infinispan 和 Neo4j 数据存储。

是否可以使用相同的数据模型通过 Hibernate OGM 将我们的 pojo 映射到 Neo4j 和 Infinispan?

最佳答案

是的,如果您创建两个不同的工厂。

如果您坚持使用 JPA,则可以在两个持久性单元配置中使用相同的实体类,但您将无法使用单个工厂同时在两个数据存储上工作。

这是一个简单的示例,取 self 们在存储库中的测试之一,该测试为 Hibernate ORM 创建一个实体管理器,并为 Hibernate OGM 创建一个实体管理器:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">

<persistence-unit name="ogm" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
</persistence-unit>

<persistence-unit name="no-ogm" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
</properties>
</persistence-unit>

</persistence>

您需要为您的用例设置正确的属性。

您可以使用以下方法获得合适的工厂:

EntityManagerFactory emf = Persistence.createEntityManagerFactory( "ogm" );

您也可以对注释执行类似的操作。

关于java - Neo4j - Infinispan 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50287634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com