2

我已经建立了 Tapestry 5 项目并且一切都很好,直到我部署了 Hibernate。我创建了 hibernate.xml 文件和

<hibernate-configuration>
<session-factory>

    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost/project</property>
    <property name="connection.username">root</property>
    <property name="connection.password">password12</property>
    <property name="connection.pool_size">5</property>

    <!-- Print SQL to stdout. -->
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="use_sql_comments">true</property>
    <property name="generate_statistics">true</property>
            <property name="hibernate.archive.autodetection">class, hbm</property>

    <property name="hibernate.transaction.flush_before_completion">true</property>

    <!-- Mapping files TODO: Classify those mappings in exact order and define the relations between them in entities some time later on.-->
            <mapping class="rs.project.com.entities.Fruit"/>
            <mapping class="rs.project.com.entities.Article"/>

</session-factory>

就其实施而言,它是可以的。但是,当我部署应用程序时,它为我定义了一些其他配置,可以在我的跟踪日志中看到,并使用其他一些 xml 文件,基于它在日志上显示的映射,它是关于我使用的一些完全不同的项目前一阵子。问题是我看不出是什么导致了这种行为,我真的很沮丧。我正在为休眠使用 Tomcat Apache Catalina 和 MySQL。另外,我做了一些研究,发现我的 project.properties 中使用了persistance.xml 文件,这有点奇怪。

   persistence.xml.dir=${conf.dir}

将我的应用程序连接到 MySQL 的驱动程序是 jdbc.mysql.driver。所以我的目标是可能在这里与您一起定义导致这种行为的问题,并解决它。

提前感谢您的回答。

4

1 回答 1

2

如果您的 tomcat 日志引用了不同的项目,那么您的上下文声明可能不正确?

检查您的 contexts 目录(对我来说是$Tomcat_home\conf\Catalina\localhost)或 Server.xml(如果您正在使用它)。确保上下文目录中的上下文文件指向正确的目录/项目。当以前的项目与我当前的项目具有相同的上下文名称时,这个错误发生在我身上。

于 2012-05-03T16:12:27.863 回答