Outils pour utilisateurs

Outils du site


developpement:java:hibernate

Hibernate

Cette page n'est pas complète.

Hibernate est un outil ORM (Object Relational Mapper) qui permet de faire la persistance de données d'objets du domaine sur une base de données.

Librairies

  • ${Hibernate_Install_Dir}/hibernate3.jar
  • ${Hibernate_Install_Dir}/lib/antlr.jar
  • ${Hibernate_Install_Dir}/lib/asm.jar
  • ${Hibernate_Install_Dir}/lib/asm-attrs.jars
  • ${Hibernate_Install_Dir}/lib/cglib.jar
  • ${Hibernate_Install_Dir}/lib/commons-collections.jar
  • ${Hibernate_Install_Dir}/lib/commons-logging.jar
  • ${Hibernate_Install_Dir}/lib/dom4j.jar
  • ${Hibernate_Install_Dir}/lib/ehcache.jar
  • ${Hibernate_Install_Dir}/lib/jta.jar
  • ${Hibernate_Install_Dir}/lib/log4j.jar

Annotations

Packages nécessaires à Eclipse pour utiliser Hibernate Annotations :

  • hibernate-annotations.jar
  • lib/hibernate-comons-annotations.jar
  • lib/ejb3-persistence.jar

Entités de base

@Entity
public class Film implements Serializable, DomainObject {
    private Long id;
    private String titre;
    private Realisateur realisateur;
    private Set<Exemplaire> exemplaires; //sera une association one-to-many
    private Set<Genre> genres; // sera une association many-to-many
 
 
    @Id
    @GeneratedValue
    public long getId() {
        return id;
    }
 
    public void setId(long id) {
        this.id = id;
    }
 
    @ManyToMany (mappedBy = "films_genre")
    public Set<Genre> getGenres() {
        return categories;
    }
}    
 

Relations

One-to-one

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn()
public Information getInformation() {
    return information;
}
public void setInformation(Information information) {
    this.information = information;
}

One-to-many

@OneToMany(orphanRemoval = true, cascade = { javax.persistence.CascadeType.ALL })
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public Set<Location> getLocations() {
    return locations;
}
 
public void setLocations(Set<Location> locations) {
    this.locations = locations;
}

@ManyToMany(mappedBy = “artEntities”)

Spécification des éléments de la base de données

Hibernate a l'habilité de définir le schémas de la base de données à partir des classes du domaine créés.

developpement/java/hibernate.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1