191

Spring プロジェクトでを使用しようとしていますがorg.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy、それを使用する方法や、まさに探しているものかどうかがわかりません。DAO をプレーンな JDO で動作させるのに役立つことがわかりましたPersistenceManagerFactory。もう 1 つの質問は、プロキシが適切に作成されないとどうなるかということです。これを使用してファクトリにアクセスし、トランザクション対応の持続性マネージャーを作成することはできますか? ファクトリによって管理されるオブジェクトがシングルトンである場合、これは状況を変えますか? PersistenceManagerFactory に直接アクセスしないのはなぜですか? おそらくPersistenceManagerFactoryUtils.getPersistenceManager、私のニーズにより適しているでしょうか?getObjectnullを返すことができますか?

4

1 に答える 1

20

回答はドキュメントで直接入手できます

DAO を単純な JDO PersistenceManagerFactory で動作させるのに役立つことがわかりました。

はい。TransactionAwarePersistenceManagerFactoryProxy プロキシを使用すると、Spring (または J2EE サーバー) のリソースおよびトランザクション管理に参加しながら、DAO はプレーンな JDO PersistenceManagerFactory 参照を操作できます。アプリで確実に使用できます。しかし、お客様の正確なニーズがわからないため、これ以上確認することはできません.

それを使用してファクトリにアクセスし、トランザクション対応の持続性マネージャーを作成できますか?

DAO は、JNDI PersistenceManagerFactory とローカルの PersistenceManagerFactory のこのプロキシとの間をシームレスに切り替えることができます。

ファクトリによって管理されるオブジェクトがシングルトンである場合、これは状況を変えますか? PersistenceManagerFactory に直接アクセスしないのはなぜですか?

通常は、Spring の JdoTemplate を使用して JDO ベースの DAO を記述し、DAO レイヤーでの JDOExceptions の代わりに一貫したデータ アクセス例外などの利点を提供することをお勧めします。ただし、Spring のリソースおよびトランザクション管理 (および依存性注入) は、プレーンな JDO API に対して記述された DAO でも機能します。

于 2013-06-29T04:54:55.823 に答える