2010-12-11 32 views
4

我一直在尋找方法來消除我的項目中多餘的代碼。在Spring中使用Hibernate時可以擺脫persistence.xml嗎?

我在Spring中使用Hibernate。我配置了Spring的JPA LocalContainerEntityManagerFactoryBean,它允許我將一些屬性傳遞給JPA提供程序(Hibernate),這意味着我不需要在persistence.xml文件中設置這些屬性。此外,Hibernate可以找到我的持久化類,而無需在persistence.xml中實際識別它們,因此<類>行也會消失。

我留下了一條線,我的persistence.xml:

<persistence-unit name="bigDatabase" transaction-type="RESOURCE_LOCAL"/> 

有誰知道一種方法來完全消除的persistence.xml和持久性單元定義移動到Spring配置文件?我嘗試谷歌搜索當然,但無法找到答案。

謝謝!

+0

你可以考慮使用Hibernate的本地'SessionFactory'更換JPA'EntityManager' ....這樣 – skaffman 2010-12-11 14:16:13

+1

不要使用JPA少配置.... – duffymo 2010-12-11 14:18:19

+0

@skaffman @duffymo情況TS TS,更換一個開放的標準 – 2010-12-13 07:44:38

回答

2

persistence.xml對於JPA配置不是必需的。您可以使用EntityManagerFactory.createEntityManager(map) 方法創建實體管理器。但LocalContainerEntityManagerFactoryBean沒有幫助用地圖創建實體管理器的方法。所以你必須擴展LocalContainerEntityManagerFactoryBean並根據你的需要重寫一些方法。

+0

很好的答案,不好的鏈接。爲你插入正確的api文檔鏈接 – 2010-12-13 07:43:02

+0

另請參閱http://stackoverflow.com/questions/4736301/is-persistence-xml-requied-when-working-with-spring-hibernate – Ritesh 2013-02-27 22:28:10

相關問題