item java spring persistence dao jdo

item - jlist java eclipse



No estoy seguro si entiendo TransactionAwarePersistenceManagerFactoryProxy (1)

Las respuestas están directamente disponibles en la documentation

Me doy cuenta de que puede ayudar a que mis DAO funcionen con una JDO PersistenceManagerFactory.

Sí. El proxy TransactionAwarePersistenceManagerFactoryProxy permite que los DAO funcionen con una referencia simple de JDO PersistenceManagerFactory, mientras siguen participando en la gestión de recursos y transacciones de Spring (o del servidor J2EE). Seguramente puedes usarlo en tu aplicación. Pero sin conocer sus necesidades exactas, no podemos confirmar más.

¿Puedo seguir utilizándolo para acceder a mi fábrica para crear un administrador de persistencia de transacciones conscientes?

Los DAO pueden alternar sin problemas entre un JNDI PersistenceManagerFactory y este proxy para un PersistenceManagerFactory local.

Si el objeto administrado por la fábrica es un singleton, ¿esto cambia las cosas? ¿Por qué no simplemente acceder a PersistenceManagerFactory directamente?

Por lo general, es preferible escribir sus DAO basados ​​en JDO con Spring''s JdoTemplate, que ofrece beneficios tales como excepciones consistentes de acceso a datos en lugar de JDOExceptions en la capa DAO. Sin embargo, la gestión de recursos y transacciones de Spring (y Dependency Injection) funcionará también para los DAO escritos contra la API JDO.

Estoy tratando de usar org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy en mi proyecto de 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 una JDO PersistenceManagerFactory . Otra pregunta es: ¿qué sucede si el proxy no se realiza correctamente? ¿Puedo seguir utilizándolo para acceder a mi fábrica para crear un administrador de persistencia compatible con las transacciones? Si el objeto administrado por la fábrica es un singleton, ¿esto cambia las cosas? ¿Por qué no simplemente acceder a PersistenceManagerFactory directamente? Quizás PersistenceManagerFactoryUtils.getPersistenceManager sería más adecuado para mis necesidades? ¿Puede getObject devolver nulo?