导航:首页 > 编程大全 > hibernate配置多个数据库

hibernate配置多个数据库

发布时间:2024-08-06 21:47:25

『壹』 hibernate有哪些配置文件

主要是两类,
1)一个总体用的hibernate.cfg.xml,比如设置数据库用户名、密码、常量、映射文件位置等等信息的地方,这个文件整个hibernate项目只用一个就可;
2)每个实体映射都有一个***.hbm.xml文件,即实体映射文件,里面写的是数据库和实体类的映射配置,包含关系映射或继承映射等等;比如Student.java实体类就用Student.hbm.xml这个映射文件;所以一个hibernate项目往往有多个配置文件。不过这些配置也可以以注解(Annotation)形式写在实体类里面。hibernate支持标准的JPA标准注解。

『贰』 请问各位大神,java如何实现同时支持多种数据库啊

Java连数据库不管用不用框架底层都是JDBC,而JDBC对每种类型数据库需要重新配置驱动,多个数据库同时用就没法单独使用连接池了,每个数据库都要打开自己的连接池的。你可以考虑自己写一个适配器层接口和实现,实现里面写连接多种数据库的逻辑,在里面调用原生JDBC代码或Hibernate, MyBatis那些框架都可以,这样上面那些层都不用改变了。

就像下面这个(示例,只写了查,用Hibernate,其他类似):
public interface MultiTypeDBSupport {
public List getData();
// ...
}
public class MultiTypeDBSupportImpl implements MultiTypeDBSupport {
public SessionFactory getSessionFactory(Stirng configFile){
SessionFactory sessionFactory = Configuration().config(configFile).buildSessionFactory();
}
public List getData(){
SessionFactory sessionFactoryMySQL = getSessionFactory("hibernateMySQL.cfg.xml");
Session sessionMySQL = sessionFactoryMySQL.openSession();
List users1 = sessionMySQL.createQuery("from User");

SessionFactory sessionFactoryOracle = getSessionFactory("hibernateOracle.cfg.xml");
Session sessionOracle = sessionFactoryOracle.openSession();
List users2 = sessionOracle.createQuery("from User");

users1.addAll(users2);
return users1;
}
// .......
}

『叁』 NHibernate 连接多数据库怎么配置

NHibernate本身不支持多数据库支持,需要写SessionFactory扩展,不过一些项目已经写了这个扩展,例如Burrow项目,使用多个hibernate.cfg.xml,创建多个SessionFactory。。这是必须的。

『肆』 NHibernate 连接多数据库怎么配置

sqlserver数据库连接放在配置文件中,只是针对外部程序访问sqlserver的场景,几种不同连接方式(odbc,ef,nhibernate,mybitas,等等),连接字符串也有所不同,你在网上搜一下,sqlserver连接字符串格式就知道了,配置文件的话,分2种,一种是建立项目时自带的config文件,这种文件的读写访问.net自己就有方法支持,文件格式和对应节点的说明也很详细;自己建立一个配置文件(可以是txt,xml等,格式可以自己控制,不过需要自己去编写相应的读写方法);
上面2种方式,各有优劣,第1种,使用系统自带的配置文件,操作方便,但是这个文件有个要注意的地方,就是它一般是在系统启动时去加载文件信息,在程序运行过程中,修改了配置文件的值,需要下次重启软件才会生效。
不过一般数据库连接字符串这种,在程序运行过程中,变化的几率小,直接用自带config文件就可以满足需求

阅读全文

与hibernate配置多个数据库相关的资料

热点内容
中医院app如何预约挂号 浏览:7
js变量赋给el变量 浏览:965
解压文件不全 浏览:832
京东寄省外文件多少钱 浏览:916
全民k歌老版本是那个 浏览:169
苹果手机怎么删除网络 浏览:844
postgresqljavajdbc 浏览:413
宁波市ug编程培训中心在哪里学 浏览:54
u盘的系统镜像文件 浏览:665
java中界面设计 浏览:887
积分换鸡蛋什么APP 浏览:169
云服务app有什么用 浏览:74
文件不见了怎么找回来 浏览:68
电路数据线是什么意思 浏览:34
文件压缩包怎么打开 浏览:184
图片文件变成excel 浏览:330
数据库还原错误 浏览:937
苹果6splus行货和水货怎么区分 浏览:724
用手机qq邮箱怎么发word文件 浏览:685
桌面的压缩文件路径太长 浏览:22

友情链接