2013-01-07 27 views
0

我有一些問題方面C3P0 + Hibernate的hibernate&c3p0配置:我可以在單個hibernate.cfg.xml文件中配置所有c3p0參數嗎?

從我這裏讀到:c3p0&hibernate configuration

看起來像你必須設置特定休眠相關名稱的一些參數,或者它會由Hibernate默認值overrided。問題是,如果我想配置另一個參數,如autoCommitOnClose,我可以在hibernate.cfg.xml中配置它,或者我需要配置它在單獨的c3p0 propery文件?,如果我可以配置它在hibernate.cfg.xml文件,我必須使用什麼hibernate配置密鑰名稱(是hibernate.c3p0.autoCommitOnClose是否是正確的名稱?),因爲從我看到您需要將c3p0參數名稱從c3p0.maxPoolSize更改爲hibernate.c3p0.max_size,以fo休眠以便正確地找出它。

thx爲您的答案。

回答

0

在遠程最新版本的hibernate(自〜2006)之後,您可以在您的休眠配置中將c3p0屬性設置爲hibernate.c3p0.propertyName。但是,如果設置了任何特定於hibernate的屬性名稱,它們將使用c3p0樣式名稱覆蓋任何配置。 (如果兩種樣式都設置,休眠將在日誌中發出警告。)

例如, hibernate.c3p0.autoCommitOnClose應該工作。應該更新c3p0的文檔以反映這一點。

c3p0 DataSources在池初始化時將其配置轉儲到INFO級別的日誌。您可以始終通過檢查日誌(或通過JMX)驗證您認爲正在設置的配置是否正確應用。在日誌中搜索字符串「Initializing c3p0 pool」

祝你好運!