J'ai un simple module EJB Maven utilisant JPA. Ceci est mon fichier persistance.xmlModule EJB Maven utilisant JPA
<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>
J'utilise EJB Stateless Bean et je suis en train d'obtenir tous les attributs de la table GroupTypes. Ceci est ma mise en œuvre du haricot:
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;
}
}
}
Lorsque je tente d'invoquer cette méthode je reçois exeption: javax.persistence.PersistenceException: Aucun fournisseur de persistance pour EntityManager nommé Persistance. Mon fichier persistance.xml est placé dans le dossier resources/META-INF/persistance.xml, et si je n'utilise pas bean cette solution fonctionne. Quelqu'un a-t-il une idée de la raison pour laquelle cela se produit uniquement dans le cas où j'utilise un haricot? J'utilise Intellij 12.1.1, Oracle 11g, le serveur Glassfish 3.1 et JAVA 1.6.