Sono molto nuovo per glassfish, JPA e così via e ho davvero problemi con l'impostazione. Quello che sto pensando di fare è un semplice servizio RESTful con un backend persistente. Sto usando glassfish3 come application server e ho già implementato un semplice servizio REST con la jersey-library. Ora voglio fornire l'accesso a un database tramite JPA. Glassfish viene fornito con JavaDB/derby ed EclipseLink, giusto? Quindi, voglio usare quella :-)persistence.xml con Glassfish 3.1.1
ho creato un persistence.xml in 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>
Poi ho creato un campo nella mia risorsa, dove voglio accedere ai dati/store som :
@PersistenceUnit(unitName = "myPU")
EntityManagerFactory emf;
Ma "fem" è sempre :-(NULL
Credo che il mio persistence.xml non è configurato appropriato
.Sarei davvero felice se qualcuno ha un suggerimento, cosa sto facendo male ...
grazie!
Non importa dove persistence.xml è nel tuo progetto, importa dove viene distribuito. Dovrebbe risiedere in app.war: /WEB-INF/classes/META-INF/persistence.xml ma stava finendo in app.war: /META-INF/persistence.xml è sospetto. –