我正在尝试传递由roo为实体类自动生成的测试。当我对hsql运行测试时,它们都通过了。但是当我对Oracle运行测试时,我得到以下结果:
引起:org.apache.commons.dbcp.SQLNestedException:无法为连接URL'jdbc:localhost:1521:xe'
创建类'oracle.jdbc.driver.OracleDriver'的JDBC驱动程序我有一个oracle db local,我知道连接有效。
ojdbc14.jar文件位于JBoss 4.2.3 / server / all目录的lib目录中(我们正在部署到的目录)
这是数据源bean和实体管理器工厂定义
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="1800000"/>
<property name="numTestsPerEvictionRun" value="3"/>
<property name="minEvictableIdleTimeMillis" value="1800000"/>
</bean><!-- Development specific configuration comes here. -->
<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
<property name="persistenceUnitName" value="${hibernate.persistenceunit}"/>
<property name="dataSource" ref="dataSource"/>
</bean>
这是pom依赖关系定义:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
<classifier/>
</dependency>
persistenceunit变量解析为persistenceUnitDev
这是该持久性单元的hibernate定义 org.hibernate.ejb.HibernatePersistence
最后我的属性文件定义了数据连接:
database.password=password
database.url=jdbc\:localhost\:1521\:xe
database.username=username
database.driverClassName=oracle.jdbc.driver.OracleDriver
我无法弄清楚为什么它告诉我它无法获得合适的驱动程序。
提前致谢
答案 0 :(得分:5)
您的网址没有正确的模式。请改为jdbc:oracle:thin:@localhost:1521:xe
。