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

转载 2006年06月08日 12:21:00

Hibernate如何配置操作多个数据库
 
Question:   
 
引用:   
我现在在做一个项目,需要从两个数据库实例中存取数据,在用hibernate实现的过程中该如何配置和处理   
 
--------------------------------------------------------------------------------   
 
1、如果一个项目要从两个乃至多个数据库实例读取数据,该如何处理?   
2、如果只有一个数据库oraA,为其建立建立oraA.hbm.xml以及hibernate.properties文件,该文件中的数据库连接部分写为:   
##  Oracle   
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文件中怎么处理,总不会是写成如下吧:   
##oracle   
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   
hibernate.connection.username  usernamet   
hibernate.connection.password  passwordt   
hibernate.connection.url  jdbc:oracle:thin:@local:1521:oraB     
 
 
Answer:   
 
写两个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配置多数据源

[html] view plaincopy xml version="1.0" encoding="UTF-8"?>  beans xmlns="http://www.springframewo...
  • Shirley_John_Thomas
  • Shirley_John_Thomas
  • 2016年09月11日 19:32
  • 368

使用Hibernate连接多个数据库

一、 在src下写两个Hibernate.cfg.xml文件: 如  hbn-MySQL.cfg.xml和hbn-oracle.cfg.xml 配置两个数据的连接。 (1)hbn-MySQL.cfg....
  • sinat_33536912
  • sinat_33536912
  • 2016年10月11日 17:43
  • 2306

hibernate配置多个数据源及事物(以两个数据源为例)

原文链接 在ssh项目中,需要连接两个不同ip下的数据库,所以必须要给hibernate配置两个或多个数据源 因为我只有一台电脑,所以我配置的是sqlserver+MySQL两个数据源...
  • a214919447
  • a214919447
  • 2017年04月24日 16:19
  • 569

Hibernate 连接访问多个数据库(含访问不同数据库的相同表)

利用hibernate访问不同数据库中的不同表或不同数据库中的相同表。 本人在开发过程中的解决方案,希望大家交流。 一般用myEclipse工具会自动生成Hibernate的相关文件,大致有下面几...
  • sinat_33536912
  • sinat_33536912
  • 2016年10月07日 15:29
  • 1716

springmvc+hibernate配置多个数据源

applicationContext.xml文件内容如下:
  • u011410254
  • u011410254
  • 2015年08月11日 11:39
  • 983

Spring+hibernate 配置多数据源

项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此。多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源。例如在一个spring和hibernate的框架的...
  • luzhenyu111
  • luzhenyu111
  • 2014年12月25日 13:14
  • 1252

hibernate操作数据库总结

这篇文章用于总结hibernate操作数据库的各种方法 一、query方式 1、hibernate使用原生态的sql语句执行数据库查询 有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错...
  • dreamrealised
  • dreamrealised
  • 2013年06月29日 15:07
  • 1934

hibernate连接多个数据库

本文转自(稍提醒hibernate.properties这个文件是以前Nibernate文件用的,现在一般是用hinbernate.cfg.xml文件) 自http://blog.sina.com....
  • wzq__janeGreen_
  • wzq__janeGreen_
  • 2017年03月04日 19:06
  • 578

hibernate配置多个数据源及事物(以两个数据源为例)

在ssh项目中,需要链接两个不同ipxoa
  • zhanlurbh
  • zhanlurbh
  • 2014年10月24日 20:55
  • 2628

Hibernate操作数据库的3个准备和七个步骤,以及在SSH框架中Hibernate的配置。

1.// 三个准备 1.添加Hibernate支持 2.创建Hibernate.cfg.xml文件 3.创建对象与映射文件              4.   // 七个步骤   5. ...
  • yyq19890202
  • yyq19890202
  • 2014年07月24日 16:53
  • 1923
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate如何配置操作多个数据库
举报原因:
原因补充:

(最多只允许输入30个字)