Estoy tratando de usarlo org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
en mi proyecto Spring, pero no estoy seguro de cómo usarlo o si es exactamente lo que estoy buscando. Me doy cuenta de que puede ayudar a que mis DAO funcionen con un JDO simple PersistenceManagerFactory
. Otra pregunta es: ¿qué sucede si el proxy no se realiza correctamente? ¿Puedo seguir usándolo para acceder a mi fábrica para crear un administrador de persistencia consciente de las transacciones? Si el objeto gestionado por la fábrica es un singleton, ¿esto cambia las cosas? ¿Por qué no solo acceder a PersistenceManagerFactory directamente? ¿Quizás PersistenceManagerFactoryUtils.getPersistenceManager
sería más adecuado para mis necesidades? Puede getObject
volver nulo?
192
Respuestas:
Las respuestas están directamente disponibles en la documentación
Si. El proxy TransactionAwarePersistenceManagerFactoryProxy permite que los DAO trabajen con una referencia simple JDO PersistenceManagerFactory, mientras siguen participando en la gestión de recursos y transacciones de Spring (o un servidor J2EE). Seguramente puedes usarlo en tu aplicación. Pero sin conocer sus necesidades exactas, no podemos confirmar más.
Los DAO podrían cambiar sin problemas entre un JNDI PersistenceManagerFactory y este proxy para un PersistenceManagerFactory local.
Por lo general, es preferible escribir sus DAO basados en JDO con JdoTemplate de Spring, que ofrece beneficios tales como excepciones de acceso a datos consistentes en lugar de JDOExceptions en la capa DAO. Sin embargo, la administración de recursos y transacciones de Spring (y la Inyección de dependencias) también funcionarán para los DAO escritos contra la API JDO simple.
fuente