首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接到Hibernate-ogm中的多个nosql数据库

如何连接到Hibernate-ogm中的多个nosql数据库
EN

Stack Overflow用户
提问于 2016-11-23 09:45:55
回答 1查看 209关注 0票数 0
  1. 在我的web应用程序中,我需要连接到MongodbNeo4j,如何配置它?
  2. 如果我需要连接到MongodbMysql,如何配置它?
EN

回答 1

Stack Overflow用户

发布于 2016-11-23 11:38:55

您需要定义不同的持久性单元。例如,如果您使用的是persistence.xml文件,它将类似于:

代码语言:javascript
复制
<?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>    

此时,当需要持久性工厂或实体管理器时,需要指定名称:

代码语言:javascript
复制
@PersistenceUnit(unitName = "neo4j-pu")
EntityManagerFactory neo4jEMF;

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

这与您只使用Hibernate、ORM或JPA所做的工作没有任何不同。您也可以通过本地API来实现这一点,但是我认为您已经有了这个想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40760858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档