我使用Eclipse 3.1.0 STS與Hibernate Tools 3.6.0。我正在嘗試連接到MySQL 5.5數據庫以生成我的DAO類。我使用的MySQL驅動程序使用mysql-connector-java的5.1.21.jarHibernate的工具在Eclipse STS給錯誤在連接到MySQL數據庫
在設置休眠控制檯文件(Hibernate的工具),我是能夠成功地ping我的數據庫。所以我認爲我的驅動版本沒問題。
設置休眠控制檯文件後,當我嘗試生成Hibernate逆向工程文件(reveng.xml),我收到以下錯誤 -
An internal error occurred during: "Fetching children of Database".
我可以看到下面的堆棧跟蹤STS的錯誤日誌 -
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:26)
at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:476)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:74)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:126)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:115)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
我使用的步驟來使用這個link描述Hibernate的工具。
希望任何幫助或指針來解決這個問題。謝謝。
UPDATE
我搬到了STS 3.2.0和我創建了一個簡單的Maven快速啓動項目安裝JBoss 4.0.0工具
,隨後在link
提到在此的所有步驟安裝程序,我可以成功地爲數據庫表生成實體& DAO類。我不必重新啓動STS。它在第一次嘗試中運行良好。
能正常工作與MySQL 5.5和的Oracle 11g。
您是否找到了解決方案?我試圖創建一個新的Java項目,只有代碼gen的配置。我也遇到同樣的錯誤。但在重新啓動Eclipse後它正在工作。 – Stanley 2013-07-05 02:47:57
是的。這是某種錯誤。沒有人真的把它固定下來,我可以找到一致,但解決方法有點簡單。我實際上最終只是在記錄數分鐘的時候發表評論,而讓Hibernate reveng工具做它的事情。通過這篇文章forum.hibernate.org/viewtopic.php?p=2441023然後我讀了他們,一切都很好。嘗試刪除Eclipse附加到大多數項目的默認日誌記錄。祝你好運!如果您找到了另一種解決方案或真正的解決方案,我們很樂意聽到:P – Dguti 2013-07-22 15:24:54
謝謝Dguti,最後我可以解決這個問題。 – Mohit 2014-10-02 08:01:18