2014-01-27 71 views
0

在線源代碼生成工具SpringFuse使用Spring的時候建議不要命名持久性單元persistence.xml。相反,他們將該文件重命名爲spring-persistence.xmlhttps://github.com/jaxio/generated-projects/blob/master/jpa2-backend/src/main/resources/META-INF/spring-persistence.xml。 他們說:JBoss,Spring:persistence.xml - 爲什麼我應該避免這個文件名?

它被命名爲彈簧的persistence.xml,以防止JBoss的採摘它會自動 ,因爲我們使用Spring這將創建一個爛攤子。

但是,爲什麼會造成一個混亂和什麼類型的混亂? 我們使用spring並且有一個名爲persistence.xml的文件,它可以工作。我們使用JBoss AS 6.1。

回答

0

您最終可能會得到兩個相同持久化上下文(EntityManagerFactory)的副本,一個由JBoss引導,一個由Spring應用程序上下文引導。另外我記得,JBoss對persistence.xml驗證非常嚴格,所以最終可能會出現驗證問題(例如,明確列出實體類與類路徑掃描)。如果遇到問題,禁用JBoss掃描說起來容易做起來難。不管怎樣,請注意,如果您使用的是最新版本的Spring(3.1.x +?),那麼您根本不需要persistence.xml。見http://docs.spring.io/spring/docs/3.2.6.RELEASE/javadoc-api/org/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean.html#setPackagesToScan(java.lang.String...)

相關問題