Abbiamo una situazione difficile.Utilizzo di entrambe le sessioni JPA EntityManager e Hibernate con gestore transazioni condivise in primavera
- C'è un progetto di grandi dimensioni che utilizza funzioni speciali di ibernazione quindi non può uscire da ibernazione.
- Dobbiamo aggiungere il motore di processo Activiti al progetto in modalità incorporata e utilizzare le estensioni JPA (che funziona solo con EntityManager)
- Alcune entità non dovrebbero essere presenti nell'unità persistente JPA perché come documentazione di activiti dice che tutte le entità devono avere @Id e non usare @ IdClass/@ EmbeddedId quindi dobbiamo escludere tali entità dall'unità persistente
- Vogliamo utilizzare un gestore di transazioni condivise per EntityManager e Session. Anche i dataSource sono identici (o anche condivisi)
- Tutto è primavera!
Tutto questo è necessario per consentire ad Activiti di utilizzare EntityManager per la sua estensione JPA lasciando che i codici dipendenti da ibernazione esistenti continuino a funzionare.