2010-10-08 13 views
5

Possiamo avere più di un'unità di persistenza JPA che punta allo stesso database, in diversi progetti Java e distribuita sul server nello stesso momento? Nello stesso tempo intendo, non schierato nello stesso secondo ma schierato insieme. Sto usando un database hsqldb.Unità di persistenza JPA multiple che puntano allo stesso database?

Sto avendo un modello client-server per il mio progetto. Ho una sola tabella di database unificata in cui il server riempie i dati e quindi il client accede a tali dati in un progetto diverso. Posso popolare con successo il database attraverso il server. Ma quando distribuisco il progetto client tutti i dati dal database vengono cancellati.

Sto usando <property name="hibernate.hbm2ddl.auto" value="update" /> per entrambe le unità di persistenza.

risposta

2

Possiamo avere più di un'unità di persistenza JPA che punta allo stesso database, in diversi progetti Java e distribuita sul server nello stesso momento?

Finché non si dispone di mapping incompatibili in entrambi i progetti, questo dovrebbe funzionare. Tuttavia non sarai in grado di utilizzare il caching di secondo livello.

Ma quando si distribuisce il progetto client tutti i dati dal database vengono cancellati. (...)

che non è in realtà il comportamento che ci si aspetta con hbm2ddl.auto set per update ma non so se il comportamento è ben definito quando viene utilizzato in un ambiente "di cluster-like" (con diversi JVM che eseguono un aggiornamento nello stesso tempo).

Cosa succede quando si distribuisce il client una volta terminata l'inizializzazione della parte server?

I miei consigli:

  • registrazione Setup per vedere cosa sta succedendo esattamente
  • Se si condividono le stesse entità, forse non fare update sul client e il server (anche se questo shouldn' essere un problema se fatto uno dopo l'altro).
  • In definitiva, don't use update at all on production database.
+0

significa distribuire solo il client e annullare la distribuzione del server? –

+0

@Vashishtha No, intendo la distribuzione del client e del server ma solo una volta che l'aggiornamento dello schema è terminato. –

+0

@Pascal Sto facendo la stessa identica cosa. Ma non funziona :( –

Problemi correlati