0
- 連接到多個NoSQL數據庫在我的web應用程序,我需要連接到MongoDB的和Neo4j的,如何配置呢?
- 如果我需要連接到Mongodb和Mysql,如何配置它?
您需要定義不同的持久性單元。 例如,如果您使用的是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來做到這一點,但我認爲你有這個想法。