Posso scaricare il file persistence.xml su JBoss?

0

Ho un'app basata su Spring in cui un altro programmatore sta utilizzando il file persistence.xml di JPA per definire l'installazione di hibernate e definire le entità che vengono mantenute.

L'app utilizza le configurazioni java di Spring, quindi non contiene quasi xml. Ho già Spring che genera LocalContainerEntityManagerFactoryBean per l'ibernazione. Leggendo il documento LocalContainerEntityManagerFactoryBean sembra che io possa semplicemente migrare il setup del file persistence.xml nei metodi java che lo creano e tutto dovrebbe funzionare.

L'app è in esecuzione su JBoss e la mia domanda è se JBoss richiede effettivamente il file persistence.xml e che cosa fa con esso?

Leggendo (Molto) di pagine Web e le specifiche JPA sembra che il contenitore JEE debba usarlo, tuttavia siamo basati su Spring anche se stiamo girando su JBoss 8. Quindi penso di poter girare senza persistenza .xml e usa semplicemente la configurazione di Spring Java pur essendo completamente compatibile con JPA.

Pensieri?

    
posta drekka 15.04.2015 - 07:32
fonte

1 risposta

0

Sì, puoi andare senza persistence.xml , dal momento che non è necessario utilizzare JPA per eseguire l'applicazione nel contenitore Java EE. Alcune applicazioni non hanno nemmeno bisogno di persistenza e JBoss può anche eseguirle.

Per quanto riguarda la conformità con JPA: come ho capito, un'implementazione di uno standard deve rispettare le specifiche, non una applicazione utilizzando questa implementazione. Quindi, per esempio, Spring potrebbe essere o meno compatibile con JPA, non la tua applicazione che usa Spring. La tua applicazione potrebbe o non potrebbe utilizzare le funzionalità JPA.

Le specifiche ( JSR 220 ) spiegano l'utilizzo del file persistence.xml in questo modo, senza menzionare eventuali alternative per usarlo:

6.2.1 persistence.xml file

A persistence.xml file defines a persistence unit. It may be used to specify managed persistence classes included in the persistence unit, object/relational mapping information for those classes, and other configuration information for the persistence unit and for the entity manager(s) and entity manager factory for the persistence unit.

Credo che LocalContainerEntityManagerFactoryBean sia solo la funzione di Spring: Spring 3.1 M2: miglioramenti della configurazione

    
risposta data 15.04.2015 - 08:33
fonte

Leggi altre domande sui tag