我需要使用jboss-as-7.1.1(hibernate)的jpa实现,但在部署应用程序时,服务器应用程序会显示以下消息:
Could not obtain connection to query metadata : No suitable driver found for jdbc:oracle:thin:@localhost:1521:xe
我添加了ojdbc6 jar作为全局模块。实际上,服务器表明它能够在类路径中找到驱动程序类:
using driver [oracle.jdbc.OracleDriver] at URL [jdbc:oracle:thin:@localhost:1521:xe]
这是我的persistence.xml,以防万一:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="HBOService">
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="hibernate.connection.username" value="HBOWEB"/>
<property name="hibernate.connection.password" value="****"/>
</properties>
</persistence-unit>
</persistence>
更多信息:
顺便说一下,我使用了这个完全相同的参数,创建了一个数据源,更新了我的persistence.xml以使用这个数据源,它运行得很好。
那么,这笔交易是什么? jboss 7是否支持非数据源连接?可能是什么问题?
答案 0 :(得分:0)
JBoss 7没有包含Oracle或MySQL等所包含的数据库驱动程序。
您需要为它们创建一个JBoss模块并将其添加到JBoss 7安装中。查看jboss 7 oracle datasource configuration
的答案然后,您需要从WAR应用程序向oracle db模块添加依赖项。这可以使用jboss-dependency.xml文件或MANIFEST.MF文件来完成。有关详细信息,请参阅Best Practice for loading 3rd party JARs in JBoss AS7 standalone deployment?