Java Neo4j-英菲尼斯潘组合
我们的项目使用Neo4j作为长期数据存储 我们有一个使用数据网格的用例,可以将Neo4j从冗余查询中释放出来,能够直接在RAM中执行查询,并在内存中的某些数据发生更改时收到通知。为此,我们看到英菲尼斯潘非常有趣 除此之外,我们还看到Hibernate OGM可以同时支持Infinispan和Neo4j数据存储Java Neo4j-英菲尼斯潘组合,java,neo4j,infinispan,hibernate-ogm,Java,Neo4j,Infinispan,Hibernate Ogm,我们的项目使用Neo4j作为长期数据存储 我们有一个使用数据网格的用例,可以将Neo4j从冗余查询中释放出来,能够直接在RAM中执行查询,并在内存中的某些数据发生更改时收到通知。为此,我们看到英菲尼斯潘非常有趣 除此之外,我们还看到Hibernate OGM可以同时支持Infinispan和Neo4j数据存储 使用Hibernate OGM是否可以使用相同的数据模型将POJO映射到Neo4j和Infinispan?是的,如果创建两个不同的工厂 如果您坚持使用JPA,那么您可以在两个持久化单元配置
使用Hibernate OGM是否可以使用相同的数据模型将POJO映射到Neo4j和Infinispan?是的,如果创建两个不同的工厂 如果您坚持使用JPA,那么您可以在两个持久化单元配置中使用相同的实体类,但是您将无法使用单个工厂同时在两个数据存储上工作 这是一个简单的示例,取自存储库中的一个测试,该测试为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" );