[Seasar-user:20558] Re: 複数の永続ユニット使用について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2011年 2月 6日 (日) 22:00:00 JST
小林 (koichik) です.
Date: Sun, 06 Feb 2011 21:40:44 +0900
From: oh <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20557] Re: 複数の永続ユニット使用について
> またわかりにくい記述をしてしまいましたので追記を。
惜しい.
なぜそこでスタックトレースを付けられないのかと.
> 現状では、s2junit4.dicon 側では sc01 側の EntityManager を使用する
> DataAccessor を一つだけ定義して、sc02 側を使用するモジュールのテストでは
>
> private DataAccessor da;
>
> private Sc2Service service;
>
> private S2Container container;
>
> @PostBindFields
> public void setup() {
> DataAccessorImpl da2 = (DataAccessorImpl) da;
> da2.setEntityManager((EntityManager) container
> .getComponent("sc02EntityManager"));
> }
>
>
> と明示的に EntityManager を再設定して、動作自体は確認しています。
DataAccessor には,それがアクセスする
DataSource と同じ DataSource にアクセスする
EntityManager を設定してください.
DataAccessor の EntityManager を変更しても,
それがアクセスする DataSource が変わるわけでは
ありません.
DataAccessor は,それがアクセスする から
正しくデータを読み込むために,同じ DataSource を
使う EntityManager を事前に flush() するだけです.
単に flush() がしたいなら,EntityManager#flush() を
呼び出してください.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
<property name="twitter">"http://twitter.com/koichik"</property>
</component>
Seasar-user メーリングリストの案内