社内勉強会でHibernateについて学んだので、復習しながらまとめます。
Hibernateとは?
http://www.techscore.com/tech/Java/Others/Hibernat...
んー。Java初学者の私にとっては少し難しですが、ObjectとRDBを上手く関連づけて、
わざわざinsert分を書かなくても、Hibernateが上手く処理してRDBに格納してくれるイメージでしょうか。
今回はReferenceを読みながら、
1.1. Part 1 - The first Hibernate Applicationをやってみます!
version: 4.3.8.Final
IDEにはIntelliJ IDEAを使ってます。
1.1.1. Setup
ビルドツールであるMavenのpom.xmlに使用したいパッケージを書きます。
referenceの内容とだいたい同じですが、JPAでサポートしているversionを書きたしています。
1.1.2. The first class
src/main/java/org/hibernate/tutorial/domain を作成し、その配下にEvent.javaを作ります。データベースにイベントを格納するためのクラスです。
Referenceのコピペでいけました。
1.1.3. The mapping file
<hibernate-mapping>タグで囲んで、Eventクラスの要素をデータベース内のテーブルへマッピングします。
1.1.4. Hibernate configuration
作成できたら、MavenのCommand lineから exec:java -Dexec.mainClass="org.hsqldb.Server" -Dexec.args="-database.0 file:target/data/tutorial"
を実行し、DBへの接続を行います。コマンドを実行すると以下ようなログが出力されます。
src/main/resources の配下にhibernate.cfg.xmlを作成します。データベースへの接続情報?を記載してるっぽいです。
あとで書きますが、propertiesにこの情報を書かないとダメだでした。。。
1.1.5. Building with Maven
1.1.6. Startup and helpers
ここで、return分がありません。と怒られるので、new Configuration().configure().buildSessionFactory(new StandardServiceRegistryBuilder().build() );
をreturnで返えすように書き足します。
1.1.7. Loading and storing objects
なのでhibernate.propertiesファイルを作成し、hibernate.cfg.xmlに記載されているDBへの接続情報を書いてやります。
これでもう一度先ほどのコマンドを実行するとビルドが成功し、insert分がながれました!
HSQLDBのEVENTSテーブルを確認すると、データがちゃんと格納されてます。 よかった、よかった。
これでReferenceの1.1は終了です。 Referenceには書いてないことも多々あったりしてここまでくるのにかなりの時間をついやしましたが
出来ると嬉しいですね。 ただ、内容をあまり深く理解できていないのでこれから知識を増やしていければとおもいます。