追いかけて〜♪グルグル〜♪

さて実装的にはどうすればいいかは分かった。
しかし、なぜORDERアノテーションが使えないのか追いかけてみる事をしろ(by師匠)
仕組みを知っておくことは非常に重要なので追っかけてみることにする。
確かにS2DaoInterceptorで実行されているSqlCommandの中身を確認するとORDERアノテーションの内容が反映されていない。
じゃそのSQLを作成しているのはドコのどいつだということで更に探る。
(この辺りで師匠乱入。)
どうやら直前でメタデータをDaoMetaDataFactoryImplで作成しているが、そこらしい。
そのDaoMetaDataFactoryImplがいつどうやってコンテナから取得されるのかを説明してくれた(この時、既にボクのアタマは干上がっていた。)
更にDaoMetaDataFactoryImpl.getDaoMetaData(引数たくさん)の実装を追いかけて、引数のdataSourceがいつ、誰が作ったのかという質問で完全にボクのアタマはオ−バーヒートしてしまった。
dataSourceを作成しているのはS2Containerだ。コイツがj2ee.diconから作成している(と認識している)。
が、いつ作っているのだろう。このdataSourceはコンストラクタの引数で外部から実体が与えられている。
S2Containerがinit()されたときだとは思うが、その根拠を正確に自分の言葉で表現することができない。(=わかってない)
そんなボクの様子を見かねた師匠は「今日はここまでにして、その代わりにコレをやっとけ」と言い残して帰宅していった。
んでそのコレというのがhttp://www.seasar.org/DIContainerExercise.htmlにあるS2Containerの四択クイズ。

とりあえずは一通りこなして1時間半ぐらいだった。
分かるところもあれば分からないところも沢山あった。
分からないところはちゃんと調べるべきなんだろうが、今日は疲れたのでコレを書いて帰ることにします。

明日もガンバルぞ!