Maven 3 + Hibernate 3.6 + Oracle 11gの例(注釈)
このチュートリアルでは、以前のHibernate3.6 XML mapping tutorialを再利用および変更しますが、Hibernateマッピングファイル(hbm)をHibernate / JPAアノテーションコードに置き換えます。
この記事の技術:
-
Maven 3.0.3
-
JDK 1.6.0_13
-
Hibernate 3.6.3.final
-
Oracle 11g
1. pom.xml
pom.xml
ファイルに変更はなく、以前のすべてのHibernate3.6
XML mapping tutorial依存関係を再利用できます。
Note
Hibernate 3.6以降、注釈はhibernate-core.jar
モジュールに統合されています。 以前のバージョン、たとえばHibernate 3.2では、それを機能させるために追加のhibernate-annotations.jar
を含める必要があります。
2. Hibernateマッピングファイル(hbm)を削除する
「DBUser.hbm.xml
」ファイルを削除します。不要になりました。
3. モデルを更新
「DBUser.java
」を更新し、JPAアノテーションコードを内部に配置します。
ファイル:DBUser.java
package com.example.user; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @Table(name = "DBUSER") public class DBUser implements java.io.Serializable { private int userId; private String username; private String createdBy; private Date createdDate; public DBUser() { } public DBUser(int userId, String username, String createdBy, Date createdDate) { this.userId = userId; this.username = username; this.createdBy = createdBy; this.createdDate = createdDate; } @Id @Column(name = "USER_ID", unique = true, nullable = false, precision = 5, scale = 0) public int getUserId() { return this.userId; } public void setUserId(int userId) { this.userId = userId; } @Column(name = "USERNAME", nullable = false, length = 20) public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } @Column(name = "CREATED_BY", nullable = false, length = 20) public String getCreatedBy() { return this.createdBy; } public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } @Temporal(TemporalType.DATE) @Column(name = "CREATED_DATE", nullable = false, length = 7) public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } }
4. Hibernate構成ファイルを更新する
「hibernate.cfg.xml
」を更新し、「mapping resource」を「mapping class」に置き換えます
これからhibernate.cfg.xmlを更新します:
これに:
5. Hibernateユーティリティ
「HibernateUtil.java
」の更新はありません。Hibernate3.6以降、XMLマッピングと注釈の両方が同じ「org.hibernate.cfg.Configuration」クラスを共有しています。
Bye bye AnnotationConfiguration
これを読む–AnnotationConfiguration
is deprecated in Hibernate 3.6
6. 最終プロジェクト構造の確認
プロジェクト構造を確認します。
7. それを実行します
「App.java
」も更新されません。実行するだけで、以前のHibernate3.6
XML mapping tutorialと同じ結果が表示されます。