【问题标题】:How to connect two databases to hibernate eclipse web project? [closed]如何将两个数据库连接到休眠 Eclipse Web 项目? [关闭]
【发布时间】:2012-10-16 12:58:43
【问题描述】:

我的项目是 java ee web 应用程序,我使用 hibernate 来进行数据库。我现在将一个数据库连接到这个应用程序我需要将另一个 mysql 数据库连接到这个项目我该怎么做这可能吗?你能给我正确的链接或解决方案吗?

我为此使用了第一个答案thanx lot,但它给出了这个例外,你能帮我解决这个问题吗 {16:02:39,552 WARN SettingsFactory - 无法获取连接元数据 java.sql.SQLException:找不到适合 hsqldb:hsql://127.0.0.1:9001/openreports 的驱动程序 在 java.sql.DriverManager.getConnection(未知来源) 在 java.sql.DriverManager.getConnection(未知来源) 在 org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) 在 org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72) 在 org.hibernate.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(Native Method) 在 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.DefaultActionInvocation.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) 在 com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) 在 com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:74) 在 com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) 在 org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) 在 org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) 在 org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) 在 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) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(未知来源) 16:02:39,610 WARN SessionFactoryObjectFactory - InitialContext 没有实现 EventContext 这是我的错误消息这是什么原因你能帮帮我吗......}

【问题讨论】:

    标签: hibernate jakarta-ee


    【解决方案1】:

    要连接两个数据库,您需要两个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

    【讨论】:

    • thanx 我使用了这个但有异常 [穿错了 15:51:24,978 WARN JDBCExceptionReporter - SQL 错误:0,SQLState: 08001 15:51:24,978 错误 JDBCExceptionReporter - 找不到适合 hsqldb:hsql 的驱动程序://127.0.0.1:9001/openreports 15:51:24,995 WARN SettingsFactory - 无法获取连接元数据 java.sql.SQLException: 找不到适用于 java.hsqldb:hsql://127.0.0.1:9001/openreports 的驱动程序。 sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source)] 我能解决这个问题吗
    • @user1770534,您似乎没有使用正确的驱动程序。检查您的 hsql 驱动程序是否在您的类路径中?。
    • 这是我的数据库路径:com.mysql.jdbc.Drivermisdjdbc:mysql://16.2.2.135:3306/pbdspmisdorg.hibernate.dialect.MySQLInnoDBDialect
    • 您的问题已结束,请打开另一个线程,其中包含您尝试过的所有代码以及您想要的代码。
    • 我解决了数据库连接问题,它给出了错误,因为我错过了“:”jdbc:mysql://10.1.2.130/pbdsp,但它给出了警告SessionFactoryObjectFactory的异常 - 无法将工厂绑定到JNDI javax .naming.NamingException: Name is not valid so, remove factory name 但它不能解决你能帮帮我吗
    猜你喜欢
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 2021-05-06
    • 1970-01-01
    • 2014-09-14
    • 2013-09-05
    • 2014-10-03
    相关资源
    最近更新 更多