BLOGTIMES
2006/05/11

S2DAOのアノテーションにはまる

  seasar 
このエントリーをはてなブックマークに追加

これまでオブジェクトのパーシステンスにはもっぱらHibernateを使ってきたのですが、後輩には、ものはためしということでSeasar2を使うついでにパーシステンスの方法としてS2DAOを試してもらったりしています。

そんな折、「なぜかS2DAOのサンプルが上手く動かせなくて困っています」という相談を受けたのでちょっと中身を見てあげることにしました。ところが、僕もS2DAOは初めてだったので見事にはまってしまいました。そのおかげで初めてS2DAO触ってみたんですが、なかなかシンプルでいいですね。動作確認済みのSQLを使ってアノテーションを使うのはデバッグもしやすくて好印象です。

public static finalじゃないとダメなのか・・・・

なぜかSQL文のプレースホルダに上手く変数がバインドされないというのが今回の症状だったのですが、アノテーションの定義にstaticとfinal指定が抜けていたというオチでした。

Seasar - DI Container with AOP -

public static final String メソッド名_QUERY = "WHERE句ORDER BY句";

マニュアルを調べてみると、アノテーションはこうじゃなきゃいけないって書いてありますね。使っていたサンプルのアノテーションはすべてstaticやfinalがついていなかったのですが、何処から引っ張ってきたサンプルだったんだろう。。。。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/1403
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン