この本はいいかもしれない

id:higayashoさんやid:koichkさんが触れていたこの本はたしかによさげ。

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

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

JDBCの基本的なところから説明されていて、ORマッパーに話が進むのでスムーズに理解できる。

ORマッパーの使い方だけ説明されても背後にある技術がわかってないと、いざというときに困るしね。

僕自身DB周りはかなり弱いので勉強になる。

SQLExceptionのErrorCodeとSQLStateの違いとかVersion NumberとかStatementのフェッチとかプリペアードステートメントキャッシュ
とかバッチ更新とかメタ情報とかトランザクションとか。。。

ただ結構RDBMSによって違いがあるみたい。特にMySQLMyISAMテーブルの場合、トランザクション制御もできないらしい。

あとこの本とは関係ないけど、
JDBCドライバをロードするClass.forNameの意味も最近知ったし。これってDriverManagerにJDBCドライバ登録するため
のものだってことはわかってたんだけど、具体的にソースレベルでどうなっているか知らなかったのであんまりわかったって気がしなかった。正直いままでおまじないみたいなもんだと思ってた。

ちなみにHSQLDBだと以下のようになっている。

    static {
        try {
            DriverManager.registerDriver(new jdbcDriver());
        } catch (Exception e) {}
    }

参考:
Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。

DB周りももっと精進せねば。トランザクションの際のログがどうなるかとかインデックスの原理とか。