`
影梦龙
  • 浏览: 123962 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Hibernate如何配置操作多个数据库

阅读更多

  
我现在在做一个项目,需要从两个数据库实例中存取数据,在 用hibernate实现的过程中该如何配置和处理   
 
--------------------------------------------------------------------------------   
 
1、如果一个项目要从两个乃至多个数据库实例读取数据,该如何处理?   
2、如果只有一个数据库ora,为其建立建立 ora.hbm.xml以及hibernate.properties文件,该文件中的数据库连接部分写为:   

hibernate.dialect  net.sf.hibernate.dialect.OracleDialect   
hibernate.connection.driver_class  oracle.jdbc.driver.OracleDriver   
hibernate.connection.username  username   
hibernate.connection.password  password   
hibernate.connection.url  jdbc:oracle:thin:@local:1521:ora   
 
3、如有两个oracle数据库oraA和oraB,分 别为其建立oraA.hbm.xml和oraB.hbm.xml映射文件,这样数据库中的各个表和实体持久化类就可以映射好,但是 hibernate.properties中的数据库配置部分该如何处理呢,怎样才能同时连接上两个数据库实例呢?   
 
 
如 果用这个Configuration.configure(File  configFile)   
configFile可以是不同的配 置。   
 
通过配置configFile可以得到每个数据库的configuration,  也就是可以获得每个数据库实例的session;但是在hibernate.properties文件中怎么写数据库连接部分呢,一个数据库的时候写法 是:hibernate.connection.url  jdbc:oracle:thin:@local:1521:ora   

写 两个hibernate.properties,例如连接oraA的叫做hibernateA.properties,连接oraB的叫做 hibernateB.properties。   
 
hibernateA.properties内容如下:   
 
引 用:   
hibernate.dialect  net.sf.hibernate.dialect.OracleDialect   
hibernate.connection.driver_class  oracle.jdbc.driver.OracleDriver   
hibernate.connection.username  username   
hibernate.connection.password  password   
hibernate.connection.url  jdbc:oracle:thin:@local:1521:oraA     
 
hibernateB.properties 内容如下:   
 
引用:   
hibernate.dialect  net.sf.hibernate.dialect.OracleDialect   
hibernate.connection.driver_class  oracle.jdbc.driver.OracleDriver   
hibernate.connection.username  usernamet   
hibernate.connection.password  passwordt   
hibernate.connection.url  jdbc:oracle:thin:@local:1521:oraB     
 
 
程序里面:   
 
代 码:   
java代码:     
 
Configuration  conf_oraA  =  new  Configuration("/hibernateA.properties").addClass().......;   
 
Configuration  conf_oraB  =  new  Configuration("/hibernateB.properties").addClass().......;   
 
SessionFactory  sf_oraA  =  conf_oraA.buildSessionFactory();   
SessionFactory  sf_oraB  =  conf_oraB.buildSessionFactory();   
 
Session  s_oraA  =  sf_oraA.openSession();   
Session  s_oraB  =  sf_oraB.openSession();   
 
...... 
  
 
--------------------------------------------------------------- 
 
更正一下 
方案一: 
写两个hibernate.cfg.xml 
使用数据库a的时候 
Configuration  cfg_a=new  Configuration().configure(hibernate.cfg_a.xml); 
使用数据库b的 时候 
Configuration  cfg_b=new  Configuration().configure(hibernate.cfg_b.xml);

usr/home/zk1007874/htdocs/upload_files/images


 
方案二: 
使用一个能操作两个数据库的账号,在?.hbm.xml映射文件中的class标签中指定catalog 为数据库名

分享到:
评论

相关推荐

    hibernate同时配置多个数据库连接

    本文将详细讲解如何在Hibernate中配置和管理多个数据库连接。 首先,我们需要理解Hibernate的核心配置文件`hibernate.cfg.xml`。在常规配置中,我们通常只配置一个数据库连接。但在多数据库连接的场景下,我们需要...

    hibernate多数据库配置

    首先,创建一个父数据源(parentDataSource),用于配置多个数据源共有的信息: ```xml <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="username" value="root">...

    spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目

    "spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目"是针对这种需求的一个解决方案,旨在提供一种灵活且动态的数据源切换机制。 首先,Spring框架作为Java领域中最受欢迎的应用框架之一,其强大...

    Hibernate多对多实例+数据库代码

    在这个实例中,开发人员将两个或多个实体之间的复杂关联转化为简单易懂的数据库操作。描述中提到"附带了数据库代码",意味着我们将看到不仅限于Hibernate的Java代码,还有与之配合的SQL脚本,以便在数据库层面理解...

    根据hibernate配置文件生成数据库.zip

    SchemaExport是这个工具的一个实现,它可以从Hibernate配置文件读取信息,并创建或更新数据库的表结构。开发者只需要在配置文件中指定相关的数据库连接信息,然后执行SchemaExport,就可以根据对象模型自动创建...

    hibernate框架下对oracle数据库操作所需jar包.zip

    综上所述,使用Hibernate框架操作Oracle数据库涉及到了多个方面的知识,包括Hibernate的核心概念、Oracle JDBC驱动的使用、数据库配置、实体映射、持久化操作、查询方式以及事务管理等。理解并掌握这些知识点,能够...

    Hibernate访问多个数据库

    总结来说,Hibernate访问多个数据库的关键在于为每个数据库创建单独的配置和`SessionFactory`。在XML配置文件中,每个数据库的连接信息、方言和映射文件都需要明确指定。而在Spring环境中,我们可以利用IoC容器和...

    Hibernate 多数据库支持解决方案

    Hibernate是一个强大的Java持久化框架,它允许开发者将对象模型与关系数据库进行映射,从而简化了数据库操作。在处理多数据库支持时,Hibernate提供了一些策略和技巧来确保应用程序能够在不同类型的数据库之间灵活...

    一套Spring+Hibernate的多个数据库切换的源码

    本项目"一套Spring+Hibernate的多个数据库切换的源码"提供了一个实现这一功能的示例,它利用了Spring框架的强大功能和Hibernate的持久化能力,实现了灵活的数据源切换。 首先,Spring框架是Java开发中最常用的应用...

    hibernate数据库相关操作步骤

    总结起来,使用Hibernate进行数据库操作主要包括配置、实体定义、映射、操作数据库、事务管理、缓存和优化等方面。通过理解并熟练掌握这些步骤,开发者可以更高效地在Java应用中实现数据库操作。

    hibernate映射文件生成数据库

    在Java开发领域,Hibernate是一个非常流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式处理数据库操作。本文将深入探讨如何利用Hibernate的映射文件来生成数据库,以此提高开发效率并减少手动创建...

    国产神通数据库用到的jdbc驱动包、集成Hibernate用到的jar包

    - oscarHibernate5.jar:最后,这个方言包是为了配合Hibernate 5.x版本设计的,可能包含更多的性能改进和对神通数据库的兼容性修复。 在集成Hibernate到项目中时,开发者需要根据实际使用的Hibernate版本和神通...

    hibernate配置数据库连接池的三种方法

    在Hibernate中配置数据库连接池,可以使数据库操作更加高效和便捷。这里有两种常见的配置方法: 1. **C3P0**: C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在...

    SpringMVC+Hibernate4+MySQL实现数据库增加功能!

    这里的"Wild_Hibernate4_MySQL"可能包含了一个或多个Controller类,用于处理HTTP请求并触发数据库操作。 接下来,Hibernate4是Java领域中一款强大的对象关系映射(ORM)框架,它简化了与数据库的交互,使得开发者...

    hibernate自动生成数据库文件

    综上所述,Hibernate自动生成数据库文件涉及到ORM设计、Hibernate Tools的使用、配置文件的编写、Java注解的理解以及数据库操作的最佳实践等多个方面。掌握这些知识点有助于高效地利用Hibernate进行数据库开发。

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    在IT领域,特别是Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者用面向对象的方式操作数据库。本篇文章将详细讲解如何使用Hibernate通过配置文件反向生成数据库的所有配置文件,以及...

    Hibernate数据库操作实例.zip

    这个压缩包可能包含了一个或多个示例项目,展示了如何在实际开发中运用Hibernate。 描述中的链接指向了CSDN博客上的一篇文章,文章作者是Peng_Hong_fu,详细讲解了有关Hibernate的具体操作。这可能意味着压缩包内的...

    现有Mysql数据库,写Spring + Hibernate的配置文件

    在Infosystem项目中,可能存在多个实体类,每个对应一个数据库表。例如,User、Article等。实体类需要使用Hibernate的注解进行标记,如@Entity表示这是一个数据库表,@Table指定表名,@Id和@GeneratedValue指定主键...

    精通hibernate3.0--java数据库持久层开发实践(付京周)2

    本书旨在帮助读者深入理解并掌握Hibernate的核心概念和技术细节,进而能够有效地利用Hibernate进行数据库操作。 ### Hibernate概述 Hibernate是一种流行的Java持久化框架,它简化了Java应用与关系型数据库之间的...

Global site tag (gtag.js) - Google Analytics