2016-11-23 46 views
0
  1. 连接到多个NoSQL数据库在我的web应用程序,我需要连接到MongoDB的Neo4j的,如何配置呢?
  2. 如果我需要连接到MongodbMysql,如何配置它?

回答

0

您需要定义不同的持久性单元。 例如,如果您使用的是persistence.xml文件它看起来像:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>            
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="neo4j-pu">                 
    <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>        
    <properties>                      
     <property name="hibernate.ogm.datastore.provider" value="neo4j_http"/>           
     ... 
    </properties>                     
    </persistence-unit> 

    <persistence-unit name="mongodb-pu">                 
    <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>        
    <properties>                            
     <property name="hibernate.ogm.datastore.provider" value="MONGODB"/>       
     <property name="hibernate.ogm.datastore.database" value="ogm_test_database"/>     
     <property name="hibernate.ogm.datastore.create_database" value="true"/> 
     ... 
    </properties>                     
    </persistence-unit>      

    <persistence-unit name="mysql-pu">                 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <properties>                            
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpatestdb" /> 
     ... 
    </properties>                     
    </persistence-unit>                  
</persistence>  

在这一点上,当你需要持久工厂或实体管理器,你需要指定名称:

@PersistenceUnit(unitName = "neo4j-pu") 
EntityManagerFactory neo4jEMF; 

@PersistenceContext(unitName = "neo4j-pu") 
EntityManager neo4jEM; 

这与您使用Hibernate ORM或JPA完成的操作没有任何区别。你也可以通过本地API来做到这一点,但我认为你有这个想法。

相关问题