2012-03-12 4 views
0

JavaコードからOracleストアドプロシージャへのJTAトランザクションの伝播の可能性について検索しました。私はこれを求めています。なぜなら、同僚がこれを使って作業しており、彼が彼のために働いてくれたからです。トランザクションの伝播と永続化コンテキストのOracleストアドプロシージャとの同期

私は、トランザクションがまだ開いていて、その後ストアドプロシージャが呼び出された(このプロシージャはそれ自身のトランザクションを制御しない)ため、ストアドプロシージャを実行できるPersistence Contextのペンダント操作を確認しますか?言い換えれば、Persistence Contextは、何らかの形で、下のデータベースのトランザクショナルメモリと同期しますか?

私はOracle JPA試験のために勉強しています。そのようなことは、私が読んでいる本では説明されていません。しかし、私はグーグルでいくつかのウェブサイトを読んだことがあります。そのようなトランザクションの伝播は、JTAと特定のJDBCドライバのデータベーストランザクションとの統合が行われていると言われています(トランザクションマネージャが認識できるかデータベーストランザクションの?)。

ありがとうございます!

+0

件名に興味がある人は、次のトピックを参照してください。http://www.coderanch.com/t/570119/ORM/java/Transaction-propagation-Persistence-Context-synchronization –

答えて

2

私はSpring + Hibernateと自家製フレームワーク+ Hibernateを使って同じことをしました。 JPAと同じことができると私は信じています。

JPAと同じトランザクション内でSPに電話をかけている場合は、すべて問題なく、唯一の問題は言及したとおりです。persistenceManagerflush()と電話してください。エンティティはトランザクションのコンテキストでDBに書き込まれます。

関連する問題