hibernate環境構築など

会社で勉強も兼ねhibernateとSwingを使ったちょっとしたアプリを作ろうとしていて、その叩き台となる簡単なプログラムを作ったのでその際の気づき、留意点のまとめメモ。

■参考HP
Hibernate | TECHSCORE(テックスコア)
Hibernateで理解するO/Rマッピング(3):Hibernateを試すための準備 - @IT

■環境
hibernate 3.6.8 (現時点の最新)
MySQL 5.5 (現時点の最新)

hibernate必要なjarファイル。
\hibernate-distribution-3.6.8.Final\lib\required以下すべて
\hibernate-distribution-3.6.8.Final\lib\jpa\hibernate-jpa-2.0-api-1.0.1.Final.jar
\hibernate-distribution-3.6.8.Final\hibernate3.jar
jarじゃないけど、
\hibernate-distribution-3.6.8.Final\project\etc\log4j.properties

hibernateにないファイル
slf4j-nop-1.6.4.jar
mysql-connector-java-5.1.18-bin.jar

MySQLの設定
my.iniをdefault-character-set=cp932※デフォルトだと日本語が文字化けする。

hibernate気づき
hibernate.cfg.xmlについて
dialectプロパティは、org.hibernate.dialect.MySQLDialect※バージョン3以上はディレクトリ構成が変わっているよう。
connection.usernameプロパティは、ルート権限のあるユーザ名を指定しないといけない。

■Swingとのバインド
JGoodies.bindingを使用してバインド。
・JTableのバインドでの留意点
AbstractTableAdapterクラスは、isCellEditable関数がデフォルトで戻り値がfalseになっているため、オーバライドしてtrueを返すようにしないと編集できない。
セルを表示させるgetValueAt関数が未実装なので継承クラスで実装する必要があるが、setValueAt関数は空実装である。そのためsetValueAt関数をオーバライドしないとJTableを編集してもモデルに反映されない。