不确定是否了解TransactionAwarePersistenceManagerFactoryProxy

我想在我的Spring项目中使用org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy ,但我不知道如何使用它,或者是否正是我正在寻找的。 我意识到它可以帮助我的DAO使用简单的JDO PersistenceManagerFactory 。 另一个问题是:如果代理服务器无法正常工作会发生什么? 我仍然可以使用它来访问我的工厂来创build事务感知持久性pipe理器吗? 如果工厂pipe理的对象是单身人士,这是否改变了事情? 为什么不直接访问PersistenceManagerFactory? 也许PersistenceManagerFactoryUtils.getPersistenceManager会更适合我的需求? getObject可以返回null吗?

答案可直接在文档上find

我意识到它可以帮助我的DAO使用简单的JDO PersistenceManagerFactory。

是。 TransactionAwarePersistenceManagerFactoryProxy代理允许DAO使用普通的JDO PersistenceManagerFactory引用,同时仍然参与Spring(或J2EE服务器)的资源和事务pipe理。 你一定可以在你的应用中使用它。 但是,如果不知道您的确切需求,我们无法进一步确认。

我仍然可以使用它来访问我的工厂来创build事务感知持久性pipe理器

DAO可以在JNDI PersistenceManagerFactory和本地PersistenceManagerFactory的代理之间无缝切换。

如果工厂pipe理的对象是单身人士,这是否改变了事情? 为什么不直接访问PersistenceManagerFactory?

通常最好使用Spring的JdoTemplate编写基于JDO的DAO,在DAO层提供诸如一致的数据访问exception而不是JDOException的好处。 但是,Spring的资源和事务pipe理(以及dependency injection)也适用于针对普通的JDO API编写的DAO。