Domanda

Ho una grande applicazione che utilizza EJB 2.x gli entity bean (BMP).Questo è noto per essere un orribile persistenza strategia (posso elaborare, se necessario).

Vorrei iniziare la migrazione di questa applicazione per l'utilizzo di un molto più espressivo e trasparente, e non invasivi, la persistenza di strategia, e data la mia precedente esperienza con esso, Hibernate 3.x è la scelta più ovvia.

La migrazione a Sospensione è andando a prendere un po', come più di 100 tavole in applicazione utilizzare entity bean.Così mi sto guardando un approccio graduale in cui i due persistenza strategie di eseguire in parallelo, idealmente nelle stesse tabelle, allo stesso tempo, se possibile.

La mia domanda è, quali sono le insidie (se del caso) di combinare questi due persistenza strategie?Essi saranno in ogni modo?

È stato utile?

Soluzione

Come detto jodonnel, si deve prestare attenzione per la memorizzazione nella cache, perché se si utilizza il secondo livello di cache in modalità di Ibernazione e di una tabella è modificata al di fuori di Sospensione, poi la Sospensione non ha modo di sapere che la sua voce di cache non è aggiornato.

Per le transazioni, essi dovrebbero utilizzare JTA fornito dal contenitore, in modo che si dovrebbe essere al sicuro.

Altri suggerimenti

Credo che la cosa davvero essere attenti con sta lavorando con la Sospensione delle sessioni.Sospensione cache di roba, e che potrebbero ottenere nel modo.

Francamente, mi sento di raccomandare che se si adotta la Sospensione, caduta l'Entità fagioli interamente.Fare il vostro lavoro Hibernate entro la sessione di fagioli e lasciare che il bean di sessione gestire le transazioni.

O, in alternativa, l'utilizzo di EJB 3, Hibernate standardizzati in Java Persistence API.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top