[Seasar-user:18170] [SAStruts]アクションフォームをセッションに保存、エンティティを型にしたい
Y.Mori
[E-MAIL ADDRESS DELETED]
2009年 8月 3日 (月) 16:38:03 JST
お世話になります、森と言います。
SAStrutsを勉強しながらシステムを構築しております。
SAStruts 1.0.4 SP5を使用しています。
ご質問なのですが、
アクションフォームをSESSIONで保存し、
その中で、エンティティを型にしたプロパティを定義した場合、
Serializableをimplementsしていないクラス(Entityクラス)
なので、SIllegalArgumentExceptionのエラーが起きます。
この場合、SerializableをimplementsしたDTOを作成しEntityの代わりに
アクションフォームに追加すれば解決するのですが、
DTOを作成するとなると、同じようなコードをDTOと
Entityと2箇所に書くことになります。
通常、このようにエンティティの内容をセッション管理したい場合
DTOを作成し、同じ内容を定義するものなのでしょうか?
それとも、もっといい方法があるのでしょうか?
稚拙な質問で申し訳ありませんが、よろしくお願いします。
アクションフォーム
@Component(instance = InstanceType.SESSION)
public class XXX0001Form implements Serializable {
private static final long serialVersionUID = 1L;
public ShainMst shainMst;
public List<XXXXTrn> xxxxTrn;
public String XxxxYmd;
〜
}
アクション
public class XXX0001Action {
@Resource
protected XXX0001Service xxx0001Service;
@ActionForm
@Resource
protected XXX0001Form xxx0001Form;
〜
}
エンティティ
@Entity
@Table(name="SHAIN_MST")
public class ShainMst {
〜
}
@Entity
@Table(name="XXX0001_TRN")
public class XXX0001Trn {
〜
}
@Entity
@Table(name="XXXX_Trn")
public class XXXXTrn {
以上
Seasar-user メーリングリストの案内