S2UtilのBeanCopy

S2Util版BeanUtilの紹介 - wyukawa's diary

S2UtilのBeanCopyは、こんな感じで、executeが不要らしい。

BeanUtil.copyBeanToBean(src, dest);

これはうれしい。execute忘れてもコンパイルエラーが出ないので、結構はまる人が多かった。
リリースはもうすぐかな?次のプロジェクトで使いたい。

SQLの組み立ては、ActionクラスかServiceクラスか

SimpleWhere等を使用して、SQLを組み立てる場合にActionで組み立てるのがいいかServiceで組み立てるのがいいのか悩んでいる。

Seasar Conference 2008-SAStrutsの開発Tipsでは、Actionクラスでの組み立てができることになっているが、
最新のS2AbstractServiceは、select()メソッドがprotectedになっているのでActionクラスからは見えない。

Seasar2.4.30でpublicからprotectedになったみたい。
AbstractServiceでオーバーライドすれば、publicにもできるけど、開発者によってずれるので辞めたほうが無難か。

Validationエラー後に、画面表示処理を行う方法

@Executeのinputには、JSPだけではなく、Actionクラスのメソッドも指定できる。Validationエラー後に、セレクトボックスの値取得等の画面表示処理をしたい場合は、この方法でできる。

SQLファイルの置き場所

SQLファイルの置き場所は、entityの配下がいいのか?Service配下がいいのか?

公式ドキュメントでは、entity配下を推奨しているが、「Seasar 2 徹底入門」では、Service配下で説明していたような気がする。決めの問題か。