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を編集してもモデルに反映されない。