动态连接两个或多个数据库

时间:2012-03-16 06:11:18

标签: java mysql database hibernate multiple-databases

我使用mysql作为我的数据源。数据库是动态创建的,详细信息保存在主数据库表中。用户可以登录系统并连接到任何数据库。要求是使用hibernate在应用程序级别连接到任何此数据库。在任何时候我们都不知道数据库的数量或名称,除了从主方案中获取它们并传递值以创建这样的新连接。

Connection conn=connectDatabase(db1);
Connection conn=connectDatabase(db2);

我知道可以做到,但我不知道怎么做。问题是如何使用hibernate来做到这一点。

1 个答案:

答案 0 :(得分:0)

你可以在hibernate中使用jndi命名查找。在Tomcat的server.xml中配置数据库(可能是......)

您可以通过这种方式访问​​代码......

Context initialCntx = new InitialContext();
SessionFactory sessionFactory = (SessionFactory)initialCntx
     .lookup("java:comp/env/hibernate/SampleSessionFactory");
Session hibernateSess = sessionFactory.getCurrentSession();