我正在开发一个没有Maven和Spring的GWT应用程序,但我想使用HikariCP作为我的连接池,所以我从Maven的Central Repository下载了HikariCP-2.2.4.jar以及pgjdbc-ng-0.3-我的postgresql驱动程序的complete.jar;最后我将我的hibernate库从4.1更新到4.3。
我在hibernate.cfg.xml上使用以下HikariCP属性
<property name="hibernate.connection.provider_class">com.zaxxer.hikari.hibernate.HikariConnectionProvider</property>
<property name="hibernate.hikari.dataSourceClassName">com.impossibl.postgres.jdbc.PGDataSource</property>
<property name="hibernate.hikari.dataSource.user">user</property>
<property name="hibernate.hikari.dataSource.password">pass</property>
<property name="hibernate.hikari.maximumPoolSize">10</property>
<property name="hibernate.hikari.dataSource.url">jdbc:postgresql://localhost:5432/db</property>
现在,当我启动应用程序时,它会给我下一个例外:
org.hibernate.HibernateException:java.lang.RuntimeException:java.beans.IntrospectionException:找不到方法:setUrl 在com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:84) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) 在org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 在org.persistencias.HibernateSessionFactory。(HibernateSessionFactory.java:43) 在org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)
。 。 。 引起:java.lang.RuntimeException:java.beans.IntrospectionException:找不到方法:setUrl 在com.zaxxer.hikari.util.PropertyBeanSetter.setProperty(PropertyBeanSetter.java:129) 在com.zaxxer.hikari.util.PropertyBeanSetter.setTargetFromProperties(PropertyBeanSetter.java:58) 在com.zaxxer.hikari.util.PoolUtilities.initializeDataSource(PoolUtilities.java:134) 在com.zaxxer.hikari.pool.HikariPool。(HikariPool.java:142) 在com.zaxxer.hikari.pool.HikariPool。(HikariPool.java:109) 在com.zaxxer.hikari.HikariDataSource。(HikariDataSource.java:78) 在com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:80) ......还有49个 引起:java.beans.IntrospectionException:找不到方法:setUrl 在java.beans.PropertyDescriptor。(PropertyDescriptor.java:110) 在com.zaxxer.hikari.util.PropertyBeanSetter.setProperty(PropertyBeanSetter.java:120) ......还有55个
我在这里搜索了stackoverflow并用google搜索但到目前为止还没有找到任何内容,有人能给我一个提示吗?
谢谢!
答案 0 :(得分:4)
pgjdbc-ng PGDataSource没有url属性的setter。 URL由pgjdbc-ng在内部“组合”。您需要使用各个属性设置DataSource:
hibernate.hikari.dataSource.host=localhost
hibernate.hikari.dataSource.port=5432
hibernate.hikari.dataSource.database=db