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)