【发布时间】:2015-05-06 01:03:35
【问题描述】:
我正在尝试将 BasicDataSource 添加到新的 LocalContainerEntityManagerFactoryBean。当我像这样创建新的数据源时:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/database" />
<property name="username" value="XXXXX" />
<property name="password" value="XXXXX" />
</bean>
并将其添加到 entityManagerFactory
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
我得到的错误是找不到 JDBC 驱动程序:
[org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure] HHH000342: Could not obtain connection to query metadata : Cannot load JDBC driver class 'org.postgresql.Driver'
我通过 maven 加载了 jar:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1103-jdbc3</version>
</dependency>
和 mavens 添加到我的类路径
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
所以我想知道我错过了什么?我可以看到驱动程序可从 maven 依赖库中获得,但在启动时从未找到它。任何想法将不胜感激。
【问题讨论】:
-
jdbc:postgresql_postGIS://localhost:5432/database必须是jdbc:postgresql://localhost:5432/databasePostGIS 只是 Postgres 的扩展,JDBC URL 没有改变。 -
我对上面的问题进行了编辑,不幸的是,这并没有什么不同,因为它首先查看驱动程序并且永远不会检查连接方面......它可以被注释掉并且仍然抛出同样的错误
标签: java spring postgresql maven postgis