Springプロジェクトでorg.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
を使用しようとしていますが、使用方法や、それがまさに私が探しているものかどうかはわかりません。 DAOをプレーンなJDO PersistenceManagerFactory
で動作させるのに役立つことがわかっています。もう1つの質問は、プロキシが適切に作成されないとどうなりますか?引き続き、それを使用してファクトリにアクセスし、トランザクション対応の永続マネージャを作成できますか?ファクトリーによって管理されるオブジェクトがシングルトンである場合、これにより状況が変わりますか?なぜPersistenceManagerFactoryに直接アクセスしないのですか?おそらくPersistenceManagerFactoryUtils.getPersistenceManager
が私のニーズにより適しているでしょうか? getObject
はnullを返すことができますか?
回答は documentation で直接入手できます
DAOをプレーンなJDO PersistenceManagerFactoryで動作させるのに役立つことがわかります。
はい。 TransactionAwarePersistenceManagerFactoryProxyプロキシにより、DAOは、Spring(またはJ2EEサーバー)のリソースおよびトランザクション管理に参加しながら、プレーンなJDO PersistenceManagerFactory参照を操作できます。確実にアプリで使用できます。しかし、あなたの正確なニーズを知らなければ、これ以上確認することはできません。
それを使用してファクトリにアクセスし、トランザクション対応の永続性マネージャを作成できますか
DAOは、ローカルPersistenceManagerFactoryのJNDI PersistenceManagerFactoryとこのプロキシをシームレスに切り替えることができます。
ファクトリーによって管理されるオブジェクトがシングルトンである場合、これにより状況が変わりますか? PersistenceManagerFactoryに直接アクセスしないのはなぜですか?
通常、SpringのJdoTemplateを使用してJDOベースのDAOを記述することをお勧めします。これにより、DAOレイヤーでのJDOExceptionsの代わりに、一貫したデータアクセス例外などの利点が得られます。ただし、Springのリソースおよびトランザクション管理(および依存性注入)は、プレーンなJDO APIに対して記述されたDAOでも機能します。