Hola, espero que alguien me pueda ayudar.
Estoy haciendo un proyecto web que requiere la utilización de una base de datos. Para ello, decidí utilizar JPA con Eclipse Link. Esta parte parece que funciona, porque la he probado con algunos testeos y conecta perfectamente con la base de datos.
El problema surge cuando importo este proyecto en mi proyecto web dinámico en eclipse, tanto si lo hago como referencia al proyecto, como si coloco el correspondiente archivo JAR en la carpeta WEB-INF/lib. No tengo ningún error de compilación ni nada parecido. Pero cuando despliego el proyecto con un pequeño servlet de prueba, éste recoge una excepción con el siguiente mensaje:
No Persistence provider for EntityManager named Ayuda_Social_Model
Ayuda_Social_Model es la unidad de persistencia que definí en el persistence.xml del proyecto JPA, y que utilizo en el Persistence.createEntityManagerFactory. Os dejo a continuación el código del persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="Ayuda_Social_Model" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Receptor</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Ayuda</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.AyudaPK</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Entidad</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.NivelAcceso</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Oferta</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.OfertaPK</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Servicio</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.UnidadFamiliar</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Usuario</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Calle</class>
<class>org.aytoAlcalaHenares.ayudaSocial.model.Domicilio</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
<property name="javax.persistence.jdbc.user" value="sa">
<property name="javax.persistence.jdbc.password" value="pcpd">
<property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://SQLSERVERTEST:1433;databaseName=ayuda_social">
</properties>
</persistence-unit>
</persistence>
Creo que mi proyecto web no consigue encontrar el persistence.xml, porque he cambiado el nombre en el createEntityManagerFactory y me sale el mismo error (con el otro nombre de unidad inexistente, claro). No sé el motivo y, por muchas soluciones que he probado, no consigo que funcione.
PD: Perdón si falta información o no cumplo con el estilo habitual de la comunidad, pero es la primera vez que hago una consulta ^^. Gracias de antemano.