1

これは問題になるのでしょうか?

私は、javax.jdo APIとXMLマッピングを使用して、DBからのオブジェクトの書き込み/読み取りを処理するレガシーシステムを持っています。

このシステムを拡張するコードもいくつかあります。この部分では、HibernateでJPAを使用しています(アノテーションを介して、Springで管理された宣言型トランザクションを使用)。

それらを同じ傘下に置き、トランザクションをより適切に管理できるようにしたいと思います。DataNucleusを使用するようにコードを書き直したいのですが、JPAを使い続けたいと思います(したがって、マッピングなどを変更する必要はありません)。

したがって、問題は、プロジェクトの2つの部分でJPAとJDOを混合し、その混合全体でトランザクションをスパンすることは可能ですか?または、1つのアプローチのみを選択する必要がありますか?

助けてくれてありがとう。

4

2 に答える 2

2

これは、状況によっては実際には機能しません。基本的に、休止状態とデータ核の両方が、永続クラスで独自に生成されたプロキシを使用します。そのため、hibernate で生成されたプロキシ クラスは、プロキシされたクラスであるため、永続化しようとすると、データ ニュークリアスによって認識されません。

于 2012-11-02T17:37:24.910 に答える
1

DataNucleusを使用すると、明らかにJDOまたはJPAアノテーション(または両方同時にIIRC)を使用し、JDOまたはJPAのいずれかを使用して永続性を使用できます(したがって、JDO PersistenceManagerを使用したJPAアノテーション、またはその逆)。アプリの一部にPMがあり、アプリの別の部分にEMがある場合、トランザクションは別々になります。

于 2012-10-18T12:28:01.713 に答える