Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 更改数据库名称时,Hibernate事务未成功启动_Mysql_Hibernate_Tomcat_Jdbc - Fatal编程技术网

Mysql 更改数据库名称时,Hibernate事务未成功启动

Mysql 更改数据库名称时,Hibernate事务未成功启动,mysql,hibernate,tomcat,jdbc,Mysql,Hibernate,Tomcat,Jdbc,我正在将一个web应用程序部署到一个tomcat容器,连接到一个mysql容器。当我部署war时,在我创建MySQL数据库(通过hibernate.cfg.xml插入)之后,一切都很好 但是,如果我想将我的web应用程序连接到一个新数据库,该数据库是在我将war部署到webapps/文件夹后创建的,我有以下几行代码: 27-Feb-2017 09:47:36.199 INFO [localhost-startStop-1] org.apache.catalina.core.Application

我正在将一个web应用程序部署到一个tomcat容器,连接到一个mysql容器。当我部署war时,在我创建MySQL数据库(通过
hibernate.cfg.xml插入)之后,一切都很好

但是,如果我想将我的web应用程序连接到一个新数据库,该数据库是在我将war部署到webapps/文件夹后创建的,我有以下几行代码:

27-Feb-2017 09:47:36.199 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
27-Feb-2017 09:47:36.200 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
27-Feb-2017 09:52:03.503 SEVERE [http-apr-8080-exec-7] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [controller.AccountController] in context with path [/ShoppingAT] threw exception
 org.hibernate.TransactionException: Transaction not successfully started
    at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:200)
    at model.AbstractModel.create(AbstractModel.java:137)
    at controller.AccountController.doPost(AccountController.java:113)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)     
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)      
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
        at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2445)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
我怎样才能解决这个问题

这是我的
hibernate.cfg.xml
文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC^M
                "-//Hibernate/Hibernate Configuration DTD 3.0//EN"^M
                "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">^M
<hibernate-configuration>^M
    <session-factory>^M
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>^M
        <property name="hibernate.connection.password">pass</property>^M
        <property name="hibernate.connection.url">jdbc:mysql://172.19.0.3:3306/shine</property>^M
        <property name="hibernate.connection.username">root</property>^M
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
          <property name="hibernate.current_session_context_class">thread</property>
           <mapping class="entities.Responsabile"/>
           <mapping class="entities.Utente"/>
    <!--       <mapping class="entities.Prodotti"/>  --> 
    </session-factory>
</hibernate-configuration>

^M
^M
^M
com.mysql.jdbc.Driver^M
通过^M
jdbc:mysql://172.19.0.3:3306/shine^M
根^M
org.hibernate.dialogue.mysqldialogue
线

我的目标是从我最初的.war创建一个新的(复制的)web应用程序。因此,我重命名了我的war,将其部署到webapps/,并编辑了
hibernate.cfg.xml
。如果我重命名我的war并将其指向初始db,则一切正常。当我指向另一个db时,会出现此问题。事实上,在日志中,有初始web应用程序(/ShoppingAT)的“上下文路径”。

您如何切换到另一个数据库?指向其他数据库后是否重新启动webapp?你的配置文件是什么?另外,您发布的stacktrace似乎不完整(或者至少:我希望stacktrace0.1中会出现异常原因。我已通过php myadmin创建了新的数据库;2.部署了新的war;3.修改hibernate.cfg.xml以指向新的数据库。4.重新启动tomcat容器。请参阅我编辑的日志