Una lunga domanda, si prega di sopportare con me.Iniezione di EntityManager vs. EntityManagerFactory
Stiamo usando Primavera + APP per un'applicazione web. La mia squadra sta discutendo sull'iniezione di EntityManagerFactory
nel GenericDAO
(un DAO basato su Generics qualcosa sulle linee fornite da APPFUSE, non usiamo JpaDaosupport
per qualche motivo) per l'iniezione di un EntityManager
. Stiamo usando "application managed persistence".
Gli argomenti contro l'iniezione di un EntityManagerFactory
sono troppo pesanti e quindi non necessari, lo EntityManager
fa ciò di cui abbiamo bisogno. Inoltre, poiché Spring creerebbe una nuova istanza di un DAO per ogni richiesta Web (dubito di questo) non ci saranno problemi di concorrenza poiché nella stessa istanza EntityManager
è condivisa da due thread.
L'argomentazione per l'iniezione di EFM è che è una buona pratica, nonostante sia sempre buona cosa avere una maniglia per una fabbrica.
Non sono sicuro quale sia l'approccio migliore, qualcuno può per favore illuminarmi?
Capisco inoltre che quando Spring inietta EntityManager è "container managed persistence" e anche che Spring "rende" il thread Entitymanagers sicuro. SB –