Maven 3 Hibernate 3.6 Oracle 11gの例(注釈)

Maven 3 + Hibernate 3.6 + Oracle 11gの例(注釈)

このチュートリアルでは、以前のHibernate3.6 XML mapping tutorialを再利用および変更しますが、Hibernateマッピングファイル(hbm)をHibernate / JPAアノテーションコードに置き換えます。

この記事の技術:

  1. Maven 3.0.3

  2. JDK 1.6.0_13

  3. Hibernate 3.6.3.final

  4. 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. 最終プロジェクト構造の確認

プロジェクト構造を確認します。

folder structure

7. それを実行します

App.java」も更新されません。実行するだけで、以前のHibernate3.6 XML mapping tutorialと同じ結果が表示されます。