[Seasar-user:18537] Re: S2JDBCでジョインしたエンティティが不正というエラー

Tsutomu Uchima [E-MAIL ADDRESS DELETED]
2009年 9月 28日 (月) 18:48:29 JST


うちまです。

すみません途中で送信してしまいました。改めて返信します。

------------------------

うちまです。お世話になっています。

> ここ,もう少し詳しく説明してもらえますか?

お恥ずかしい話なのですが、DtoとEntitiyは自前でnewしてインスタンス化していま
した。それが原因なのかな、と。ソースは下記のような感じです。

■Xxx

@Entity
public class Xxx implements Serializable {

  public String aaa;

  public String bbb;

  // Xxx は間接的に School とジョイン出来る関係。

}

■XxxDto

public class XxxDto implements Serializable {

  public List<Xxx> xxxItems;

}

■XxxPage

public class XxxPage {


 public List<XxxDto> xxxDtoItems;

 public List<Xxx> xxxItems;

 public String aaa;


 public Class initialize() {

   xxxDtoItems = new ArrayList<XxxDto>();

   List<Yyy> yyyList = aLogic.getYyyList();

   List<Zzz> zzzList = aLogic.getZzzList(); // 例外はロジックで発生

   for (Yyy yyy : yyyList) {

     XxxDto xxxDto = new xxxDto();    // インスタンス化してしまったDto
     xxxDto.xxxItems = new ArrayList<Xxx>();

     for (Zzz zzz : zzzList) {

       Xxx xxx = new Xxx();   // インスタンス化してしまったエンティティ

       if (yyy.aaa.equals(zzz.aaa)) {

         xxx.aaa = zzz.bbb;

         xxxDto.xxxItems.add(xxx);

       }

     }

     xxxDtoItems.add(xxxDto);

   }

 }


 public Class prerender() {

 }

}

ソースは以上です。Xxx を別の Dto として作成し実行すると例外は発生しなくなり
ました。

でも例外が発生する場所はDB操作のロジックなんですよね・・・。もう少し突っ込ん
で調査しようと思います。

以上です。



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