2012-04-13 10 views
6

Ho due domande da porre su JBoss 5.1. Stiamo procedendo alla migrazione da JBoss 4.2 a JBoss 5.1.JBoss 5.1: Hibernate with JPA

Stiamo anche utilizzando Java 1.6 e JPA 2.0 con Hibernate 3.6 come provider.

Le mie domande sono:

  1. E 'possibile utilizzare Hibernate 3.6 e versioni successive con JBoss 5.1. Se sì, allora come?
  2. Che dire di JPA 2.0? So che JBoss 5.1 viene fornito con la compatibilità con JPA 1.0. Possiamo usare JPA2?

E poiché non è possibile eseguire alcun tipo di configurazione sull'installazione di JBoss, tutte le correzioni devono essere eseguite solo nella nostra applicazione.

Grazie in anticipo, JassB

risposta

2

Fate questo:

1) Aggiungere jboss-classloading.xml a/src/main/webapp (sto usando Maven):

contenuti:

<?xml version="1.0" encoding="UTF-8"?> 

<classloading xmlns="urn:jboss:classloading:1.0" 

     domain="$UNIQUE_DOMAIN_NAME" 

     export-all="NON_EMPTY" 

     import-all="false" 

     parent-first="false"> 

</classloading> 

2) Modificare $ JBOSS_INSTALL_DIRECTORY/jboss-as/server/$ PROFILO/conf/bootstrap/deployers.xml, e aggiungere il seguente alla fine:

<bean name="IgnoreFilesDeployer" 

class="org.jboss.deployers.vfs.spi.deployer.AbstractIgnoreFilesDeployer" 



</bean> 

3) Creare un file jboss-IGNORE.TXT nella cartella META-INF con seguente contenuto:

WEB-INF/classes/META-INF/persistence.xml

4) ho rinominato il mio persistence.xml per la primavera-persistence.xml e ha aggiunto il file nella context.xml come:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="persistenceXmlLocation" value="classpath:/META-INF/spring-persistence.xml"/> 
      .... 
</bean> 

5) I; ve; anche modificato spring-persistence.xml (salvato persistence_2_0.xsd nella cartella webapp \ META-INF) come

<persistence version="2.0" 
xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="file:///persistence_2_0.xsd 
     http://java.sun.com/xml/ns/persistence"> 
.... 
</persistence> 
+0

In seguito ricevo ClassNotFoundException su rg.jboss.webbeans.integration.deployer.env.WebBeansBootstrapDeployer che è piuttosto strano, perché è una classe inclusa in jBoss 5.1. –

3

io siamo appena lo stesso problema di oggi, e dopo aver provato molte alternative e chiedendo ovunque, la risposta è no

Non è possibile utilizzare JPA 2.0 con JBoss 5.1 (ancora di più se non riesci a modificare la configurazione del server)

Ma ho visto hibernate3.X lavorare su Jboss5.1, ma mai con le funzionalità di annotazioni: solo il vecchio modo di configurazione XML.

Ora, dal mio punto di vista, hai 2 soluzioni: o chiedere aggiornamenti del server o modificare il tuo sistema di accesso ai dati con la vecchia maniera.

+1

grazie, ho creato JPA 2.0 per lavorare con JBoss 5.1 – JazB

+0

Qualcuno era in grado di capire come integrare effettivamente JPA 2.0 o questa risposta è errata? –

+0

Nel mio caso, il server è stato aggiornato in produzione da allora: non ci sono più problemi! – antoine