目前,我在配置文件中定义连接属性,并且只连接到一个数据库。我希望能够在某个时候有用户登录,找出(通过一个单独的中央数据库)他们应该连接什么数据库,从那时起创建的所有会话都将与该数据库通信。
实现这一目标的最佳方法是什么。为每个可能的数据库创建配置文件?或者我可以有一个会话管理器并相应地更改连接URL吗?我有什么选择?
更新:道歉我应该提到这是NHibernate。我认为这不重要但是像Hibernate Shards这样的东西将不适用于我相信NHibernate Shards正在等待。
答案 0 :(得分:2)
您只需要创建两个数据源,然后调用特定查询所需的数据源。
请看一下:
https://www.hibernate.org/450.html
一些官方解决方案。
在这里:
http://www.java-forums.org/database/159-hibernate-multiple-database.html
关于此问题的在线帖子。