使用JPA和Hibernate在Persistence.xml中配置C3P0

使用JPA和Hibernate在Persistence.xml中配置C3P0,第1张

使用JPA和Hibernate在Persistence.xml中配置C3P0

您的配置有缺陷。您正在

DataSource
应用程序上下文中进行配置。因此,基本上所有
hibernate.c3po
属性都是无用的,其次,该
hibernate.connection.provider_class
属性的设置破坏了您的应用程序。该
C3P0ConnectionProvider
预计然而,您使用的是基本的一个C3P0连接
DriverManagerDataSource

我建议不要尝试让hibernate来管理池,而只需在applicationcontext内部对其进行配置。用以下内容替换数据源定义

<bean id="dataSource"  destroy-method="close">    <!-- Connection properties -->    <property name="driverClass" value="org.postgresql.Driver" />    <property name="jdbcUrl" value="jdbc:postgresql://localhost/mydatabase" />    <property name="user" value="postgres" />    <property name="password" value="pgadmin" />    <!-- Pool properties -->    <property name="minPoolSize" value="5" />    <property name="maxPoolSize" value="20" />    <property name="acquireIncrement" value="1" />    <property name="maxStatements" value="50" />    <property name="idleConnectionTestPeriod" value="3000" />    <property name="loginTimeout" value="300" /></bean>

然后从您的persistence.xml中删除

hibernate.c3p0
hibernate.connection.provider_class
。将配置移至Spring的附加优势在于,您可以使用属性文件来包含属性,并用a
PropertyPlaceHolderConfigurer
替换它们,而不必在persistence.xml中对其进行修复。

基本上,您可以从persistence.xml中删除所有属性,然后将它们移至基于spring的配置中。

2其他,非相关建议。您可以删除

<context:annotation-config />
暗示的内容
<context:component-scan/>
。建议在标题中使用无版本的xsd文件,因此建议删除版本。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4937226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存