2013-05-28 4 views
5

Voglio condividere un modello di entità, annotato con JPA, su diversi progetti WEB JEE6. Le entità sono annotati in questo modo:Voglio condividere un modello di entità annotato JPA su diversi progetti WEB JEE6

@Entity 
public class Contract implements Serializable { 

ho creato un progetto Maven con classi di entità solo annotate, il progetto entità.

Nel progetto client JEE6 del client ho creato una dipendenza da questo progetto di entità. Il progetto JEE6 è in grado di compilare, ma quando si esegue su un server di applicazione Glassfish si verifica un errore di runtime. La classe non è riconosciuta come classe di entità.

Caused by: java.lang.IllegalArgumentException: Object: nl.marcenschede.modules.Contract[ id=null ] is not a known entity type. 

Cosa fare affinché una classe importata venga riconosciuta come progetto di entità?

risposta

1

Dai un'occhiata allo here per un esempio funzionante di come farlo.

+0

+1 a causa del collegamento e impressionante Meebo avatar. –

+0

@RalfHoppen Hehe, sento di dover accreditare l'autore di avatar: http://aangry.deviantart.com/art/BMO-327660345. Diffondi il fantastico! –

0

Hai solo bisogno di impacchettare le classi di unità di persistenza all'interno di un barattolo con una cartella META-INF contenente il file persistence.xml che elenca tutte le classi di entità.

Il vaso risultante deve essere quindi incluso nella directory WEB-INF/lib dei file di guerra delle app Web.

Vedi http://docs.oracle.com/javaee/6/tutorial/doc/bnbqw.html#bnbrj

Problemi correlati