2012-05-03 177 views
2

我已經設置了Tapestry 5項目並且一切正常,直到我部署了Hibernate。我創建hibernate.xml文件和休眠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> 

,它是OK,只要它的實現而言。但是,當我部署應用程序時,它定義了一些其他配置,可以在我的跟蹤日誌中看到它,並使用其他xml文件(基於它在日誌中顯示的映射),它是關於我使用的一個完全不同的項目前一陣子。事情是我看不到是什麼原因導致了這樣的行爲,我真的很沮喪。我正在使用Tomcat Apache Catalina和MySQL進行Hibernate。另外,我做了一些研究,發現persistence.xml文件正在我的project.properties中使用,這有點奇怪。

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

驅動我的應用程序連接到MySQL是jdbc.mysql.driver.So我的目標是可能的定義,在這裏會導致這樣的行爲,你怎麼了,並解決它。

在此先感謝您的答案。

+0

你在說什麼跟蹤日誌? Tomcat日誌? – Atif

+0

是的,tomcat日誌。 –

回答

2

如果您的tomcat日誌引用了不同的項目,也許您的上下文聲明是不正確的?

檢查您的上下文目錄(對於我來說它是$Tomcat_home\conf\Catalina\localhost)或Server.xml(如果這就是您正在使用的)。確保上下文目錄中的上下文文件指向正確的目錄/項目。之前的項目與我目前的項目具有相同的上下文名稱時,此錯誤發生在我身上。

+1

謝謝Atif!這正是我自己的問題。我不得不刪除ROOT.xml,這是針對完全不同的Web項目。一旦我刪除它,問題就消失了。 :) –

+0

我很高興我可以幫助你,因爲我從來沒有使用Hibernate之前:)(我儘管使用Spring) – Atif