首页 > 解决方案 > 与 TomEE+ 中的 JDBC 驱动程序和连接 URL 相关的 OpenJPA 异常

问题描述

我们在应用程序中面临持久性配置方面的问题。该应用程序在 TomEE Plus (7.0) 上运行并使用 Open JPA 实现。下面是我们得到的错误

<openjpa-2.4.2-r422266:1777108 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: There were errors initializing your configuration: <openjpa-2.4.2-r422266:1777108 fatal user error> org.apache.openjpa.util.UserException: A connection could not be obtained for driver class "oracle.jdbc.xa.client.OracleXADataSource" and URL "jdbc:oracle:thin:@//mydburl.abc.com:1881/MYSID.ABC.COM".  You may have specified an invalid URL.

使用时我们没有收到上述错误oracle.jdbc.driver.OracleDriver。驱动程序设置在XAIBM WebSphere 8.5 上运行良好。我们还需要在 TomEE+ 中配置什么以使其正常工作吗?

更新

也添加persistence.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    version="1.0">
    <persistence-unit name="MySchema" transaction-type="JTA">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <jta-data-source>myjndi</jta-data-source>
        <class>com.abc.jpa.entity.Tuser</class>
        <class>com.abc.jpa.entity.Taddress</class>
        <properties>
            <property name="tomee.jpa.factory.lazy" value="true"></property>
            <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.xa.client.OracleXADataSource" />
            <property name="javax.persistence.jdbc.url"
                value="jdbc:oracle:thin:@//mydburl.abc.com:1881/MYSID.ABC.COM" />
            <property name="javax.persistence.jdbc.user" value="userName" />
            <property name="javax.persistence.jdbc.password" value="password" />
        </properties>
    </persistence-unit>
</persistence>

如前所述,如果我oracle.jdbc.driver.OracleDriver用作 jdbc 驱动程序类,它工作正常

标签: openjpaapache-tomeetomee-7

解决方案


推荐阅读