質問

私@無国籍する方法I

  1. 削除件数データベースから JPAを利用 remove()'s
  2. 例外をスローする形として @ApplicationException(rollback=true)

していないその他の取引の特定のアノテーションの方法を設定しま @TransactionAttribute(TransactionAttributeType.REQUIRED) ときのデフォルトで!).取引コンテナ管理します。JPA会員企業のプロバイダはEclipseLink.

が、本取引はロールバック時に例外がスローされます。例えば.のエントリを削除してしまいましたら、データベースに以前のロールバックな戻りやすくなってしまいます。ちなみ.私entityManager.flush()の前に投げで、が原因であることがわかってき行為(いない)?

また電話 SessionContext.setRollbackOnly(), 同じ結果です。

たいのですがこの問題のデバッグ?

を使用していGlassfish v3、Xsltproc、デバッグしているも嬉しいprintlnのかわからない答がなかった。

役に立ちましたか?

解決

私@無国籍する方法I(...)

で明らかに語ることはあり得ないのEntityManager?

(...)を設定しま@TransactionAttribute(TransactionAttributeType.必要

実際、これがデフォルトな必要になります。

が、本取引はロールバック時に例外がスローされます。例えば.のエントリを削除してしまいましたら、データベースに以前のロールバックな戻りやすくなってしまいます。

うーん、もっと意外でした。

ちなみ.私entityManager.flush()の前に投げで、が原因であることがわかってき行為(いない)?

いや、フラッシュ!= コミット

またコSessionContext.setRollbackOnly()と同じ結果です。

でも、まだ予期せぬものが少なくとも一貫した...).

を使用していGlassfish v3、Xsltproc、デバッグ

そのログインで、次の例の管理コンソール下の設定ロギング>ログレベル)ができるスポットは何か:

  • javax.企業といえる。システム。ます。取引
  • javax.企業といえる。リソースです。jta
  • javax.企業といえる。システム。容器です。ejb

の代替として数分で出られる"貧しい人間のロギング"といいます)が実施 SessionSynchronization 取得に通知します。

う問題...

参照

他のヒント

のほか、パスカルの答えたアトラクションは時代とともにチェッ---ご EntityManager 保証 ない 参加コンテナ管理取引の場合にtrue:

  • 作成したEntityManager介EntityManagerFactory
  • 指定した transaction-type="RESOURCE_LOCAL" おpersistence.xml

次に確かめること:

  • <jta-data-source> が入力されていないのpersistence.xml
  • のデータソース参照によ <jta-data-source> 設定の参加JTAの取引が自動コミットがoff)

これまではやや特定のベンダーであるベンダーが自動的に記入し <jta-data-source> ていない場合指定します。としても失敗しますの展開の場合 <jta-data-source> が差しをデータソースのない設定に参加JTA取引(セットアップベンダーの特定).などのGlassfish取り扱うれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top