Hibernate如何配置操作多个数据库
2006-06-08 12:21
423 查看
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为数据库名
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如何配置操作多个数据库
- Java Web学习笔记 Hibernate配置及数据库增删改查简单操作
- Hibernate入门BLOG [二、封装拿到数据库配置session对象、并且执行操作]
- 在spring配置DataSource数据源进行数据库操作及spring结合hibernate操作
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- 如何根据hibernate的实体类和实体类配置文件生成数据库的表
- 如何读取配置文件并连接后台数据库,且对数据库进行操作实例(查询或修改等)
- Hibernate配置和操作不同数据库的问题
- 如何配置Hibernate连接oracle12c 的PDB和CDB数据库
- Spring整合Hibernate开发 - 使用事务管理器操作数据库 - 主配置文件
- 如何从代码中获取hibernate中配置的数据库方言信息
- Hibernate如何配置实体类到数据库表的映射
- Hibernate操作数据库的3个准备和七个步骤,以及在SSH框架中Hibernate的配置。
- 如何根据hibernate的实体类和实体类配置文件生成数据库的表
- hibernate连接多个数据库,如何动态切换(我一般用配置文件动态切换)
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- Myeclipse如何自动创建hibernate以及配置struts2以及数据库表创建映射文件 详解
- hibernate配置文件如何连接sql server 2008数据库
- 如何利用Hibernate配置文件生成数据库
- 数据库开发基本操作-配置SQL Server 2005 Express的身份验证方式,以及如何启用sa登录名