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と同じ結果が表示されます。