连接池 - Hibernate & C3P0 配置:我可以在单个 Hibernate .cfg.xml 文件中配置所有 C3P0 参数吗?



我对c3p0 + Hibernate有一些疑问

从我读到这里:c3p0&hibernate配置

看起来你必须设置一些与hibernate相关的特定名称的参数,否则它将被hibernate的默认值覆盖。问题是,如果我想配置另一个参数,如autoCommitOnClose,我可以在hibernate.cfg.xml中配置它,还是我需要在单独的c3p0属性文件中配置它?如果我可以在hibernate.cfg.xml文件中配置它,那么我必须使用的hibernate配置键名是hibernate.c3p0。autoCommitOnClose是正确的名称吗?),因为从我看到你需要改变c3p0参数名称从c3p0。maxPoolSize改为hibernate.c3p0。Max_size,以便hibernate能够正确地计算它。

谢谢你的回答

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

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

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

祝你好运!

最新更新