2013-01-07 26 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”

祝你好运!