Exemple Maven 3 + Hibernate 3.6 + Oracle 11g (annotation)
Ce didacticiel réutilisera et modifiera lesHibernate3.6 XML mapping tutorial précédents, mais remplacera le fichier de mappage Hibernate (hbm) par le code d'annotation Hibernate / JPA.
Technologies dans cet article:
-
Maven 3.0.3
-
JDK 1.6.0_13
-
Hibernate 3.6.3.final
-
Oracle 11g
1. pom.xml
Aucun changement dans le fichierpom.xml, toutes les dépendances précédentes deHibernate3.6
XML mapping tutorial peuvent être réutilisées.
Note
Depuis Hibernate 3.6, l'annotation est intégrée dans le modulehibernate-core.jar. Dans la version précédente, par exemple, Hibernate 3.2, vous devez inclure deshibernate-annotations.jar supplémentaires pour que cela fonctionne.
2. Supprimer le fichier de mappage Hibernate (hbm)
Supprimez le fichier «DBUser.hbm.xml», il n’en a plus besoin.
3. Mettre à jour le modèle
Mettre à jour «DBUser.java», place le code d'annotation JPA à l'intérieur.
Fichier: 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. Mettre à jour le fichier de configuration Hibernate
Mettez à jour «hibernate.cfg.xml», remplacez «mapping resource» par «mapping class»
Mettez à jour hibernate.cfg.xml à partir de ceci:
Pour ça :
5. Utilitaire Hibernate
Pas de mise à jour sur «HibernateUtil.java», depuis Hibernate 3.6, le mappage XML et les annotations partagent la même classe «org.hibernate.cfg.Configuration».
Bye bye AnnotationConfiguration
Lire ceci -AnnotationConfiguration
is deprecated in Hibernate 3.6
6. Revoir la structure finale du projet
Passez en revue la structure de votre projet:

7. Exécuter
Aucune mise à jour sur «App.java», aussi, lancez-le simplement, et vous devriez voir le même résultat que lesHibernate3.6
XML mapping tutorial précédents.
Téléchargez-le -Maven3-Hibernate3.6-Oracle11-Annotation-Example.zip (7 Ko)