我使用mysql作为我的数据源。数据库是动态创建的,详细信息保存在主数据库表中。用户可以登录系统并连接到任何数据库。要求是使用hibernate在应用程序级别连接到任何此数据库。在任何时候我们都不知道数据库的数量或名称,除了从主方案中获取它们并传递值以创建这样的新连接。
Connection conn=connectDatabase(db1);
Connection conn=connectDatabase(db2);
我知道可以做到,但我不知道怎么做。问题是如何使用hibernate来做到这一点。
答案 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();