Soy muy nuevo en glassfish, JPA y así sucesivamente y realmente tengo problemas para configurarlo. Lo que planeo hacer es un servicio RESTful simple con un back-end persistente. Estoy usando glassfish3 como servidor de aplicaciones y ya implementé un servicio REST simple con la jersey-library. Ahora quiero proporcionar acceso a una base de datos a través de JPA. Glassfish se envía con JavaDB/derby y EclipseLink, ¿verdad? Por lo tanto, quiero usar eso :-)persistence.xml con Glassfish 3.1.1
creé una persistence.xml en META-INF:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="myPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDataSource" /> <!-- org.apache.derby.jdbc.EmbeddedDriver -->
<property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/sample;create=true" />
<property name="javax.persistence.jdbc.user" value="APP" />
<property name="javax.persistence.jdbc.password" value="APP" />
<property name="eclipselink.ddl-generation" value="create-tables" />
</properties>
</persistence-unit>
</persistence>
Luego, creamos un campo en mi recurso, donde quiero acceder a los datos/almacenamiento som :
@PersistenceUnit(unitName = "myPU")
EntityManagerFactory emf;
Pero "fem" es siempre :-(NULL
supongo que mi persistence.xml no está configurado apropiada
.Estaría muy contento si alguien tiene una pista, lo que estoy haciendo mal ...
gracias!
No importa dónde esté persistence.xml en su proyecto, importa dónde se implemente. Debería residir en app.war: /WEB-INF/classes/META-INF/persistence.xml pero estaba terminando en app.war: /META-INF/persistence.xml es sospechoso. –