インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

Javaデータアクセス実践講座 (DB Magazine SELECTION)

価格: ¥2,808
カテゴリ: 単行本(ソフトカバー)
ブランド: 翔泳社
Amazon.co.jpで確認
良書 ★★★★☆
いい本です。読むのにある程度のプログラミングスキルは要求されますが普通のプログラマーなら大丈夫です。特に記述やサンプルプログラムがポイントを押さえつつも冗長でない所がいいです。もちろん本書で全てを網羅するものではありませんが入門書かつ実践書として買ったのは正解でした。

他のレビューに間違い指摘がありますがもう一つ。P122,Chapter4のLIST11 ProductServlet.javaでProductServiceというクラスが出てきますがこれはProductLogicのことですね。恐らくわかりやすいようにリネームしてコードの方を変更し忘れたのでしょう。
Java+MySQLの技術を知るのに最適 ★★★★☆
本書が想定する読者の知識、経験は若干高く
1データベース、特にMySQLの利用経験。SQLの知識が必須。
2JavaはJSP/サーブレットの基礎を習得済み
3XMLの基礎知識
というレベルが妥当です。
「JDBCも少しだけ知った今、次にO/Rマッピング利用のためのフレームワーク、さらにEJB、JPAについて知りたい」という時、本書は役に立ちます。
 本書は構成がしっかりしていて、順に読むとここ数年のデータアクセスのための技術の変遷がよくわかります。その説明はさすが技術情報誌に連載していただけあり、手慣れたものを感じさせ明快です。

 ただし、本書に限らずこの種の技術書はミスが避けられないようです。なかでも特に知らないと時間をとられそうな内容を2点、以下に指摘します。本書を購入する方の参考になれば幸いです。
(なお私の手元にあるのは初版です。)
1.Chapter9のJPAとHibernateをセッティングする説明の部分で、クラスパスに通すべきjarファイルが足りない。本書の紹介分に加え、以下のファイルを追加する必要がある。
Hibernate EntityManagerのlibディレクトリ内から
1 hibernate-core.jar
2 hibernate-commons-annotations.jar
SLF4J(ダウンロード先 http://www.slf4j.org)から
3 slf4j-api-x.x.x.jar(Hibernate Core のlib/requiredにもある)
4 slf4j-jcl-x.x.x.jar
SLF4JはApache Commons Loggingの後継。WindowsXPの環境では、どうしても4のファイルまで本書のサンプルを動かすには必要な様子。

2.Chapter12のKuina-Daoのサンプルコードはこのままでは動かない。理由はGenericDaoインタフェースのfindメソッドの引数名が(Seasar2独自の機能Diiguにより)「id」に限定されるが、異なる引数名でメソッドを使用しているため。 対処として以下のいずれかが考えられる。
1 GenericDaoで提供されるカスタムメソッドの利用
 GenericDaoを継承するDaoインタフェースに、使用するエンティティクラスのプロパティ名を引数に持たせたfind(プラス何かの名前の)メソッドを定義する。
 本書では「ProductDao」インタフェースにpublic Product find(String code); とメソッドを追加する。
2 エンティティクラスのプロパティ、アクセサの修正
 もしくはエンティティクラスの主キー列に対応するプロパティの宣言、アクセサの設定を「id」に変更する。
 本書では「Product」クラスの「code」プロパティとそのsetter/getterを「id」に修正する。
なお本書にはLIKE検索の箇所で同じ理由による誤りがあるので注意。

最後に、個人的にはSeasar2のKuina-Daoに魅力を感じました。著者にも恐らく「今はこれが最前線」という確信があるのでしょう。SeasarはJPAを取り込み、利便性でまだEJBの先を行っていると思わされました。