Пример Oracle 11g для Maven 3 Hibernate 3.6 (Аннотация)

Пример 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 Utility

Нет обновлений для «HibernateUtil.java», поскольку с Hibernate 3.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.