2012-06-28 48 views
4

有問題的應用程序已經爲spring定義了LocalSessionFactoryBean,並且它從hibernate xml文件中加載了hibernate配置。在hibernate映射文件中,指定了序列生成器類。有什麼辦法可以將spring bean指定爲序列生成器,而不是根據映射配置讓hibernate創建一個?從spring上下文獲取Hibernate SequenceGenerator的方法?

+0

我猜spring-mvc標籤在這裏有點誤導你應該考慮刪除它 –

回答

0

簡答:沒有。

問題在於,即使在Spring 3.1中支持hibernate4,spring classes也只是'包裝'在org.hibernate.cfg.Configuration附近,其中IdentifierGeneratorFactory是隻讀的。 (http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/cfg/Configuration.html

除非你繼承它並將其包裝到彈簧中,否則我看不到這樣做。 :(

編輯:

誤解你的問題很抱歉

您可以創建自己的序列發生器(https://community.jboss.org/wiki/CustomSequences),如果你爲它創建一個工廠,該工廠可以很容易地製成彈簧。從彈簧中可以完全配置和注入

+0

我已經有了一個自定義序列,我知道如何爲它創建一個工廠。我不知道如何告訴休眠使用從Spring應用程序上下文生成的自定義序列的特定實例。 –

相關問題