swat_Seasar_Memo

2004-08-26

[]WEB+DB PRESS Vol.22S2Daoの章を読んだ。 09:21

ダイアリのほうで書いたんだけれど、前提知識が無さ過ぎだったので、疑問に思ったことをドキュメントを見ながらお勉強。

  • テーブルと対になるクラスでは、toString()、equals(Object obj)、hashCode()のオーバーライドは必須なんだろうか?オーバーライドする意味は十分わかるんだけれど、サンプルコードを見ている限り、強要されているようではない。オーバーライドしなくてもだいじょうぶなんだろうか?

ドキュメントを見る限り、オーバーライドされている模様。オーバーライドしなくてもコンパイルは通りそうだから、大丈夫なんだろうけれど、実際に動かして見るしかないか。

  • IDになっているカラムが引数に含まれていないコンストラクタがあるけど、これは必須か?

ドキュメントのサンプルコード(Employee)では定義されていないので必須ではなさそう。じゃあどんな意味が?

追記:もしかして普通に使いたいだけか。ああ、そうか・・・orz

  • すみません。アノテーションって何ですか?(嗚呼、馬鹿丸出し)

ドキュメントを読んだらなんとなく理解は出来ました。DBの名前とJavaBeanを結びつけるために使うって言うのが基本線なんですね。

  • OrderItemsクラスにTABLEというアノテーションが切られているけれど、なぜこれだけ?

クラス名からパッケージ名を除いた名前がテーブル名と一致する場合は、TABLEアノテーションを定義する必要はありません。

ああ、そういうことですか、アンダーバーがありますもんね。

  • Daoインターフェースのメソッド命名規則ってあるんだろうか?getAllOrderItemsというsignatureだけでどんなオブジェクトのリストが帰ってくるかを知る方法はあるんだろうか?

S2DaoではメソッドのsignatureよりSQL文の中身を自動的に決定しています。そのためメソッドのsignatureはS2Daoの想定にあわせてもらう必要があります。

あ、あるんですね。signatureからどんなSQLが発行されるか分かるようにならんといけませんね。

  • SQLのバインド変数コメントで、/*empno*/7788というように7788というリテラルが入っていないといけないのはなぜだろう。実際にこの数値が評価されて使われることがあるのか?

バインド変数コメントの右側のリテラルがバインド変数で置き換えられます。

じゃあ、入れていないとダメってことか。SQL単体で通るものじゃないとダメ、ってことなんですかね。

最初っからドキュメント読んどけよ、という感じなのですが、記事から先に読んだらすごく焦ってしまいました。あーびっくりした。

po78@nut.compo78@nut.com2007/07/26 05:22Thank you for you work! Good Luck.r

azs34@aol.comazs34@aol.com2007/07/27 06:57Really good site, and a pleasant suprise... Good Luck!c

nhh@oro.comnhh@oro.com2007/07/28 11:16Thank you very much.t

vvb@yahoo.comvvb@yahoo.com2007/07/29 19:01Very nice work, admin :) Good luck!

xss2@yahoo.comxss2@yahoo.com2007/07/30 23:52Big thanx to webmaster!<

oyyu78@aol.comoyyu78@aol.com2007/08/01 01:49Thanks bro! Real good work!

DestryDestry2012/02/16 03:16Your post is a timely contribution to the debtae

flgmdlflgmdl2012/02/16 19:33aYh9Ye <a href="http://qevnjxbflpxp.com/">qevnjxbflpxp</a>

トラックバック - http://seasarproject.g.hatena.ne.jp/swat/20040826