0

JPAを使用した単純なmaven EJBモジュールがあります。これは私のpersistance.xmlファイルです

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
    <persistence-unit name="Persistence">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <mapping-file>GroupTypes.xml</mapping-file> 
        <properties>
            <property name="hibernate.connection.url"  value="jdbc:oracle:thin:@127.0.0.1:1521:E"/>
            <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="hibernate.connection.username" value="username"/>
            <property name="hibernate.connection.password" value="password"/>
        </properties>
    </persistence-unit>
</persistence>

EJB ステートレス Bean を使用しており、GroupTypes テーブルからすべての属性を取得しようとしています。これは私のBeanの実装です:

public class TestBean
{

    private GroupTypes GroupTypes;
    private EntityManagerFactory entityManagerFactory;
    private EntityManager entityManager;

   @WebMethod (operationName = "justTesting")
   public boolean justTesting(@WebParam (name = "param") String value)
   {
       try
       {
            entityManagerFactory = Persistence.createEntityManagerFactory("Persistance");
            entityManager = entityManagerFactory.createEntityManager();
            Query query = entityManager.createQuery("Select name from GroupTypes");
            List<AmmEdGroupTypes> result = query.getResultList();
            return true;

        }
        catch(Exception e)
       {
            e.printStackTrace();
            return false;
       }
    }
}

このメソッドを呼び出そうとすると、例外が発生します: javax.persistence.PersistenceException: No Persistence provider for EntityManager named Persistance. 私のpersistance.xmlファイルはフォルダーresources/META-INF/persistance.xmlに置かれ、Beanを使用していない場合、このソリューションは機能します。私がBeanを使用している場合にのみ、これがなぜ起こっているのか、誰もが知っていますか?

Intellij 12.1.1、Oracle 11g、Glassfish 3.1 サーバー、JAVA 1.6 を使用しています。

4

1 に答える 1