Pregunta

Tengo un EJB y un módulo web en mi IntelliJ, creé 5 entidades que espero cargar en una base de datos utilizando anotaciones.

Voy a la configuración del proyecto, en módulos, y selecciono que quiero agregar la faceta JPA, sé que tengo una faceta EJB, Web y JPA. Utilizo EclipSelink, así que lo verifiqué en Configuración de JPA, luego agregué mi archivo Persistence.xml, configuré el archivo.

El problema es que al implementar, simplemente no implementará el archivo Persistence.xml, lo que significa que no puedo encontrarlo en mi servidor Glassfish 3.0 al seleccionar mi aplicación en descriptores de implementación. Solo encuentro mi sun-web -ejb.xml bajo el módulo EJB. Persistence.xml tampoco está bajo el módulo web, pero supongo que debería estar bajo el módulo EJB de todos modos.

¿Es previsto que mi persistencia.xml no se cargue en el servidor para que pueda encontrar el archivo XML en la consola de administración de GF (aplicaciones -> Módulo EJB de los descriptores de implementación de minas)?

Si esto no es previsto, ¿hay algo en particular que necesite hacer en IntelliJ para que la persistencia.xml se esté implementando en el servidor? ¿Quizás es algo en particular que necesito hacer con mi faceta JPA?

Gracias por cualquier comentario sobre esto, puedo, por supuesto, proporcionar información más detallada sobre mi configuración si es necesario.

¿Fue útil?

Solución

Solo encuentro mi sun-web -ejb.xml bajo el módulo EJB.

Eso ya es extraño. Si no me equivoco, este es un descriptor de implementación patentado para el módulo web.

persistence.xml tampoco está bajo el módulo web, pero supongo que debería estar bajo el módulo EJB de todos modos

Todo depende de cómo empaquete e implementa sus entidades, lo que se puede hacer de varias maneras (ver Lo que puede necesitar saber sobre las opciones de embalaje de la unidad de persistencia).

Si sus entidades están empaquetadas en un EJB-Jar, el persistence.xml debe colocarse en el META-INF directorio.

Pero podría empaquetarlos dentro del módulo web, esto sería más simple en su caso. Vea el enlace anterior.

¿Es previsto que mi persistencia.xml no se cargue en el servidor para que pueda encontrar el archivo XML en la consola de administración de GF (aplicaciones -> Módulo EJB de los descriptores de implementación de minas)?

Sugiero verificar que el frasco físico contenga el META-INF/persistence.xml.

Si esto no es previsto, ¿hay algo en particular que necesite hacer en IntelliJ para que la persistencia.xml se esté implementando en el servidor? ¿Quizás es algo en particular que necesito hacer con mi faceta JPA?

No puedo decir. Tal vez el siguiente enlace podría ayudar: Habilitar el soporte de JPA.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top