Seasar2

seasar2覚書

今までブログに書いてましたが、削除してWikiにまとめます。 ブックマークしてくれていた方々すいません。http://www22.atwiki.jp/seasar2/

S2Unitでトランザクションをコミットする方法

S2Unitでテストをする際に、必ずロールバックされるものだと思ってたが、@TxBehaviorアノテーションを使うことでコミットできるんですね。。全く知りませんでした。 @TxBehavior(TxBehaviorType.COMMIT) public void test() { // }

S2UtilのBeanCopy

S2Util版BeanUtilの紹介 - wyukawa's diaryS2UtilのBeanCopyは、こんな感じで、executeが不要らしい。 BeanUtil.copyBeanToBean(src, dest);これはうれしい。execute忘れてもコンパイルエラーが出ないので、結構はまる人が多かった。 リリースはもうすぐかな…

推奨のパッケージ構成は?

SAStrutsを使用した場合の、パッケージ構成はどれがいいのだろう? まず、HOT Deploy対象・非対象は分けておいたほうがよさそう。(公式ページには書いてないが)では、HOT Deploy対象配下はどのようにするべきか? 考えられるパターンとしては、以下のどちら…

トランザクション境界はActionかServiceか

今までずっと、Service層でやってきたけど、Actionの方が単純でよいのか? Action層にすると DBを使用しない処理でもトランザクションが発生してしまうので少し気持ち悪い。 1リクエストで複数のテーブルを更新する場合に、Service層に各テーブルを更新する…

DBアクセス時の共通処理の実装

DBアクセス時に共通化したい処理はいくつかあるが、まずは、"INSERT時に更新日時をセットする"という単純なものをS2JDBCで作ってみた。 (以下の記事を非常に参考にさせていただきました。) S2JDBC の弱点を補完するS2AbstractService - 出羽ブログ テーブル…

DBFluteを使ってみた。

DBFluteは前から名前は知っていたが、S2Daoで満足しているのであんまり気にとめてなかった。 が、カンファレンス行った人の多くのブログで好評なのでいよいよ使ってみた。 0.概要を知る ドキュメントを読んでみたが、完全に位置づけが理解できていない。 S…

SQL_FILEアノテーション

長らく家でS2Daoは触ってなかったが、今回リリースされたバージョンで SQLファイル不備を検出するための機能が追加されたので使ってみた。 (前にファイル名が微妙に違っていて、本番導入時に気づいたってことがあったので。)使い方は簡単。SQLファイル利用す…

Seasar導入のメリットは?

社内ではまだまだSeasarの利用案件がすくないので、私が導入を進める立場にいる。 そのときにメリット(魅力?)としてあげるのは以下の2点 S2DAOの魅力(SQL自動生成・SQL外だし) AOPの魅力よるログ・トランザクション管理 いわゆるDIのメリットは全く説明…

S2Unitをそろそろ

SQL*PLUSやObject Browser片手に単体テストするのも、面倒くさいってレベルじゃねえぞ、って感じなのでそろそろS2Unitを使ってみようと思う。何からはじめたらいいかわからないけど、ドキュメントを軽く見たらデータベースの内容をExcelに簡単に出力できるら…

Seasar経由でのSessionへの登録と取得と削除

http://d.hatena.ne.jp/authorNari/20070202今までよくわかってなかったけど、id:authorNariさんが書いてくれたやりかたで、Sessionへの登録・取得は簡単にできました。Sessionからの削除はメソッドに @RemoveSession(name="aaaDto") といったアノテーション…

S2JSFサンプルのHotDeploy対応

いよいよs2-jsf-example-1.1.1を拡張して色々試すかーって思ったけど、このサンプルHotDeploy対応されてないのでまずこれに対応。 まずweb.xmlにhotdeployの定義を追加 hotdeployfilter org.seasar.framework.container.hotdeploy.HotdeployFilter hotdeploy…

そろそろS2JSFの勉強でも

いつまでもJSPとか使ってられないので、そろそろS2JSFでも勉強しようかなっていろいろ情報集めてたら、なんかTeedaとかいうのがあって、これもJSFの実装らしくて(JSFの実装の意味がよくわかってないが)、この中のTeeda ExtensionというはS2JSFの進化らしい…

S2Daoメタデータの取得処理解析2

去年の続き。どうすればaddColumnsメソッドの呼び出しがを1度だけで済ませられるかについてメモ。 addColumns(dbMetaData, convertIdentifier(dbMetaData, schema), convertedTableName,map); addColumns(dbMetaData, schema, tableName, map); addColumns(…

S2Daoメタデータの取得処理解析

1ヶ月ぐらい前の記事で書いた、S2Daoのメタデータ取得に時間がかかる処理を解析してみた。 時間がかかるのは、1回目のアクセスでそれ以降はキャッシュされるから実運用では問題ないけど、開発中の1回目のアクセスが絶えられなく なってきたので解析。細かく…

S2Pager使ってみました。

ページ機能はどのシステムでも使うし、自分で作るのがいつもだるかったので非常に助かる。ただ、いきなりdiconファイルの設定でつまづいた。 サンプルはS2.3で今使ってるのがS2.4なのでどのファイルをいじるのよくわからなかったが、まあ適当にdao.dicoをい…

S2Daoでメタデータの取得に時間がかかる

S2Dao使っているけど1回目の論理的なコネクションの取得で異様にかかる。 DEBUG 2006-11-29 01:11:32,078 [main] 物理的なコネクションを取得しました DEBUG 2006-11-29 01:11:32,078 [main] 論理的なコネクションを取得しました DEBUG 2006-11-29 01:11:35…

Seasar2.4使い始めました。

S2.3でしたがとうとうS2.4に移行しました。とりあえずHOT deployよすぎ。かなりさくさく開発できる。 S2.3からの移行時に苦労するかなって思ったけど、意外とすんなりいった。つまずいたところまとめると、 app.diconのDOCTYPEを書き換え忘れ。 jdbc.diconを…