0

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

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

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

谢谢你的回答。

4

1 回答 1

0

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

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

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

祝你好运!

于 2013-01-07T08:08:05.603 回答