[Seasar-user:20544] 複数の永続ユニット使用について

oh [E-MAIL ADDRESS DELETED]
2011年 2月 4日 (金) 22:17:31 JST


お世話になっております。長谷川です。

複数の永続ユニットを使用するため

http://s2hibernate.seasar.org/ja/s2hibernate-jpa.html

を参考にして以下のような構成で実行しています。

jpa.dicon
  + jpa_01.dicon
  + jpa_02.dicon
  + jpa_03.dicon

この状態で S2JUnit4 で更新処理についてテストケースを実行した場合

jpa_01.dicon で定義した永続ユニットでは update が発行される
jpa_03.dicon で定義した永続ユニットでは update が発行されない

といった現象が起こっています。
#jpa_02 は読み込み専用で使用しています

さらに jpa_01.dicon と jpa_03.dicon のインクルード順を変えて

jpa.dicon
  + jpa_03.dicon
  + jpa_01.dicon
  + jpa_02.dicon

とした場合

jpa_01.dicon で定義した永続ユニットでは update が発行されない
jpa_03.dicon で定義した永続ユニットでは update が発行される

となり、jpa.dicon でのインクルード順により異なった結果となっています。

何れの更新処理も EntityManager#merge を行っているだけで処理内容には
違いがありません。
#対象のエンティティは異なっていますが

update が発行されない方でも、明示的に flush() を呼ぶことで update が
発行されることは確認しています。

また、双方とも EntityManager の FlushMode は AUTO になっています。
#merge 発行の直前で確認しました

どういった部分を調査するべきでしょうか。

毎度つたない質問で申し訳ありません。足りない情報がありましたら教えてください。
追記いたします。

以上、よろしくお願いいたします。
-- 
_/_/
_/_/ mailto: [E-MAIL ADDRESS DELETED]
_/_/



Seasar-user メーリングリストの案内