Пример 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 Utility
Нет обновлений для «HibernateUtil.java», поскольку с Hibernate 3.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.
Скачать -Maven3-Hibernate3.6-Oracle11-Annotation-Example.zip (7KB)