【问题标题】:hibernate & c3p0 configuarion : can i configure all c3p0 parameter in single hibernate.cfg.xml file?hibernate & c3p0 配置:我可以在单个 hibernate.cfg.xml 文件中配置所有 c3p0 参数吗?
【发布时间】:2012-12-20 19:59:36
【问题描述】:
我有一些关于 c3p0 + Hibernate 的问题
从我在这里读到的:c3p0&hibernate configuration
看起来您必须使用特定的休眠相关名称设置一些参数,否则它将被休眠默认值覆盖。问题是如果我想配置另一个参数,例如 autoCommitOnClose ,我可以在休眠中配置它吗? cfg.xml 还是我需要在单独的 c3p0 属性文件中配置它?如果我可以在 hibernate.cfg.xml 文件中配置它,我必须使用什么休眠配置密钥名称(hibernate.c3p0.autoCommitOnClose 是正确的名称? )因为据我所知,您需要将 c3p0 参数名称从 c3p0.maxPoolSize 更改为 hibernate.c3p0.max_size 才能让 hibernate 正确地计算出来。
谢谢你的回答。
【问题讨论】:
标签:
hibernate
connection-pooling
c3p0
【解决方案1】:
在最近的休眠版本中(自 ~2006 年起),您可以在休眠配置中将 c3p0 属性设置为 hibernate.c3p0.propertyName。但是,如果设置了任何特定于休眠的属性名称,它们将使用 c3p0 样式名称覆盖任何配置。 (如果设置了两种样式,hibernate 会在日志中发出警告。)
例如hibernate.c3p0.autoCommitOnClose 应该可以工作。 c3p0 的文档应该更新以反映这一点。
c3p0 数据源在池初始化时将其配置转储到 INFO 级别的日志中。您始终可以通过检查日志(或通过 JMX)来验证您认为正在设置的配置是否正确应用。在日志中搜索字符串“Initializing c3p0 pool”
祝你好运!