用hibernate如何开发多数据库应用程序

bigguobing 2006-07-06 08:48:40
现在的情况是这样,有两个数据库,一个运行库DB1,一个历史库DB2,两个数据库里面的表基本上都是一样的,Hibernate如何支持这样的多库开发呢,配置两个cfg.xml是没有问题的,是否需要也要配置两份hbm文件呢,POJO是否也需要两份呢?
...全文
417 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparkcn 2006-11-15
  • 打赏
  • 举报
回复
我写了一个,你要是有兴趣,联系我 baihua921@sohu.com
djpsunday 2006-07-11
  • 打赏
  • 举报
回复
其实我公司也用到历史数据与实时数据的分流处理,不过都在一个数据库中操作,建实时表和历史表,你这种方案,没有实验过
bigguobing 2006-07-11
  • 打赏
  • 举报
回复
说一下目前的问题:
使用Hibernate访问两个数据库DB1和DB2,这两个数据库的表是一样的,数据是不一样的,如何实现同名表的联合查询,比方说在一个查询界面上,查询出来的结果集既包括DB1也包括DB2的,对这个结果集还需要实现排序和分页。
bigguobing 2006-07-11
  • 打赏
  • 举报
回复
自己顶一下
liang8305 2006-07-06
  • 打赏
  • 举报
回复
我不太懂...不过这算不算"双机负载"?或者和这个思想差不多
如果差不多,我想应该是在数据库方面实现,而不是编码方面实现

也就是说,事实上是两个库两个表(表一样),
但是通过调整数据库的配置映射,对外显示出来是一个库一个表

也就是说,这个映射是数据库完成的,而不是我们编码完成的...
bigguobing 2006-07-06
  • 打赏
  • 举报
回复
sole_lodestar,我的运行库和历史库都是Oracle,表也是一样的
liang8305 2006-07-06
  • 打赏
  • 举报
回复
sole_lodestar(弱势群体应该怎么办)

那个方法不也就是两个LIST...
把工厂的创造用一个KEY来区分而已
sole_lodestar 2006-07-06
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4780/4780382.xml
bigguobing 2006-07-06
  • 打赏
  • 举报
回复
是的,loadAllObjectFrom2DB也是我目前所能想到的方式,但是不大好处理这个大list的排序和分页
liang8305 2006-07-06
  • 打赏
  • 举报
回复
^_^,回得太快了....
liang8305 2006-07-06
  • 打赏
  • 举报
回复
HIBERNATE的招....我想你是说关联,映射这些吧....我还得看下书

不过不搞关联我想可以这样,例如写个方法
loadAllObjectFrom2DB()
方法中造DB1,DB2的两个session
两个session分别load他所对应的库的obj,得到两个list
把两个list合并成一个list返回
bigguobing 2006-07-06
  • 打赏
  • 举报
回复
目前想分开查询出两个List,然后并在一起,这是可以的,但这样就没有办法进行排序和分页了
bigguobing 2006-07-06
  • 打赏
  • 举报
回复
谢谢liang8305的解答,分开两个库的目的主要是性能和维护上的考虑,运行库只保存最近的业务数据(比较多的操作是写),而历史库保存的是用于统计分析的数据,主要操作是读。
另,再问一句,多库的联合查询hibernate有没有什么好招,就是要联合查询DB1和DB2的同名表
liang8305 2006-07-06
  • 打赏
  • 举报
回复
用一份映射文件,一份POJO就可以了...
两个cfg.xml的hbm配置相同,就是数据库部分不同

要用db1,就用db1的cfg.xml创建config,config创建session工厂,工厂在创建session
用这个session来save,update,del
操作对应的就是db1

db2同上

另:
同一个需要持久化的对象分到两个库中...意义何在?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧