Java 查找EntityManager后的NamingException

Java 查找EntityManager后的NamingException,java,jpa,weblogic,entitymanager,naming,Java,Jpa,Weblogic,Entitymanager,Naming,当我试图得到一个实体管理者时,我总是成为一个例外。。这里是它崩溃的地方:(在查找函数中) My 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" x

当我试图得到一个实体管理者时,我总是成为一个例外。。这里是它崩溃的地方:(在查找函数中)

My 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="myExample">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <jta-data-source>DSLDB</jta-data-source>
        <mapping-file>META-INF/interface_orm.xml</mapping-file>

        <properties>
            <property name="openjpa.jdbc.UpdateManager" value="operation-order" />
            <property name="openjpa.FlushBeforeQueries" value="false" />
            <property name="openjpa.OrphanedKeyAction" value="none" />
            <property name="openjpa.ConnectionRetainMode" value="transaction" />
            <property name="openjpa.jdbc.DBDictionary" value="useNativeSequenceCache=true" />
        </properties>
    </persistence-unit>
</persistence>

org.apache.openjpa.persistence.PersistenceProviderImpl
DSLDB
META-INF/interface_orm.xml
persistence.xml位于META-INF文件夹中的lib组件下

我还在我的deploy.xml中定义了数据源:

<datasource database="oracle">
            <jndi_id value="DSLDB"/>

            <user value="user"/>
<!--            <user value="user1"/> -->

            <password value="password"/>

            <jdbc_url value="jdbc:oracle:thin:@//skjdfhsdhf2009-skip.moage.org:1522/WKFISAS.nittaschoa.net"/> <!-- JAP7 IT -->

            <transaction_protocol value="EmulateTwoPhaseCommit" />
            <!--
            <driver_class value="oracle.jdbc.OracleDriver" />
            <support_xa_transaction value="true" />
            <transaction_protocol value="None" />
            <test_table value=" SQL SELECT 1 FROM DUAL" />
            -->
        </datasource>


entityManager=(entityManager)ctx.lookup(“myExample”);试试看编辑后的答案和对话绑定到jndi是什么意思?这是怎么回事@ShahzebIn weblogic您不需要像Prasanna Kumar H提到的那样
java:/comp/env/
。您可以直接转到JNDI名称。堆栈跟踪是什么?您好@DisplayNameismissing谢谢您的回答!现在我又犯了一个错误。。。。Stacktrace:java.lang.ClassCastException:weblogic.jdbc.common.internal.RmiDataSource不能强制转换为com.csg.cs.jap.tutorial.ubs.lib.EntityManagerFinder.getEntityManager上的javax.persistence.EntityManager(EntityManagerFinder.java:60)
<datasource database="oracle">
            <jndi_id value="DSLDB"/>

            <user value="user"/>
<!--            <user value="user1"/> -->

            <password value="password"/>

            <jdbc_url value="jdbc:oracle:thin:@//skjdfhsdhf2009-skip.moage.org:1522/WKFISAS.nittaschoa.net"/> <!-- JAP7 IT -->

            <transaction_protocol value="EmulateTwoPhaseCommit" />
            <!--
            <driver_class value="oracle.jdbc.OracleDriver" />
            <support_xa_transaction value="true" />
            <transaction_protocol value="None" />
            <test_table value=" SQL SELECT 1 FROM DUAL" />
            -->
        </datasource>