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