[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 メーリングリストの案内