冬眠& c3p0 configuarion:我可以在单个hibernate.cfg.xml文件中配置所有c3p0参数吗?

时间:2013-01-07 04:46:57

标签: hibernate connection-pooling c3p0

我有一些关于c3p0 + Hibernate的问题

从我在这里读到:c3p0&hibernate configuration

看起来你必须用特定的hibernate相关名称设置一些参数,否则它将被hibernate默认值覆盖。问题是如果我想配置另一个参数,比如autoCommitOnClose,我可以在hibernate中配置它。 cfg.xml或者我需要在单独的c3p0 propery文件中配置它?如果我可以在hibernate.cfg.xml文件中配置它,我必须使用什么hibernate配置密钥名称(hibernate.c3p0.autoCommitOnClose是正确的名称? )从我看到你需要将c3p0参数名称从c3p0.maxPoolSize更改为hibernate.c3p0.max_size,以便hibernate正确地计算出来。

你的答案。

1 个答案:

答案 0 :(得分:0)

在远程最新版本的hibernate中(自2006年起),您可以在hibernate配置中将c3p0属性设置为hibernate.c3p0.propertyName。但是,如果设置了任何特定于hibernate的属性名称,它们将使用c3p0样式名称覆盖任何配置。 (如果设置了两种样式,hibernate将在日志中发出警告。)

所以,例如hibernate.c3p0.autoCommitOnClose应该可以工作。 c3p0的文档应该更新以反映这一点。

c3p0 DataSources在池初始化时将其配置转储到INFO级别的日志。通过检查日志(或通过JMX),您始终可以验证是否正确应用了您认为正在设置的配置。在日志中搜索字符串“Initializing c3p0 pool”

祝你好运!