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