2012-10-26 62 views
-2

我的项目是java ee web应用程序我使用hibernate进行数据库操作。我将一个数据库连接到这个应用程序,现在我需要将另一个mysql数据库连接到这个项目,我该如何做到这一点是可能的?你可以给我适当的链接或解决方案thanx先进的如何连接两个数据库来休眠eclipse web项目?

我用这第一次回答thanx很多,但它给这个例外,你可以请帮我解决这个 {16:02:39,552 WARN SettingsFactory - 无法获得连接元数据 java.sql.SQLException:找不到适合于hsqldb的驱动程序:hsql://127.0.0.1:9001/openreports at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(未知来源) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72) at org.hibern ate.cfg.Configuration.buildSettings(Configuration.java:1881) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174) 在org.efs.openreports.actions.admin.ServerDataAction。(ServerDataAction.java :23) 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(来源不明) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(来源不明) 在java.lang.reflect中。 Constructor.newInstance(来源不明) 在org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:84) 在org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:71) 在org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:150) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:745) 在org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.autowire(AbstractAutowireCapableBeanFactory.java:253) 在com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:145) 在com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory的.java:128) 在com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143) 在com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113) 在com.opensymphony.xwork2.DefaultA ctionInvocation.createAction(DefaultActionInvocation.java:275) 在com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365) 在com.opensymphony.xwork2.DefaultActionInvocation.access $ 000(DefaultActionInvocation.java:38) 在COM .opensymphony.xwork2.DefaultActionInvocation $ 1.doProfiling(DefaultActionInvocation.java:83) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation。(DefaultActionInvocation .java:74) at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) at org.apache.struts2 .dispat (org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) 在org.apache.catalina.core。 ApplicationFilterChain。internalDoFilter(ApplicationFilterChain.java:235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve。调用(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489) at java。 lang.thread.run(未知来源) 16:02:39,610 WARF SessionFactoryObjectFactory - InitialContext没有实现EventContext,这是我的错误消息什么是这个可以请你帮我..........}

回答

2

要两个数据库连接,你需要两个SessionFactory

提示

SessionFactory sessionFactory1 = new Configuration().configure("config1.cfg.xml").buildSessionFactory(); 
SessionFactory sessionFactory2 = new Configuration().configure("config2.cfg.xml").buildSessionFactory(); 


void yourMethod() { 
     try { 
      session = sessionFactory1.openSession(); 
      // here play with session of sessionFactory1 
      session.close(); 

      session = sessionFactory2.openSession(); 
      // here play with session of sessionFactory2 
      session.close(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      System.out.println("It works"); 
     } 
    } 

如果您使用的春天看到load two database

+0

感谢名单我用这个,但有例外[错worning 15:51:24978 WARN JDBCExceptionReporter - SQL错误:0,SQLSTATE:08001 15:51:24978 ERROR JDBCExceptionReporter - 找不到适用于hsqldb的驱动程序:hsql://127.0.0.1:9001/openreports 15:51:24,995 WARN SettingsFactory - 无法获取连接元数据 java.sql.SQLException:找不到适用于hsqldb的驱动程序:hsql:// 127.0.0.1:9001/openreports \t at java.sql.DriverManager.getConnection(Unknown Source) \t at java.sql.DriverManager.get连接(未知源)]我可以解决这个 – user1770534

+0

@ user1770534,似乎你没有使用正确的驱动程序。检查你的驱动程序的hsql是否在你的班级路径? – subodh

+0

这是我的数据库路径: com.mysql.jdbc.Driver MISD <属性名= “hibernate.connection.url”> JDBC:MySQL的://16.2.2.135:3306/pbdsp <属性名= “hibernate.connection.username”> MISD <属性名=” hibernate.dialect“> org.hibernate.dialect.MySQLInnoDBDialect user1770534