Concept

Jakarta Persistence

Résumé
La Java Persistence API (abrégée en JPA), est une interface de programmation Java permettant aux développeurs d'organiser des données relationnelles dans des applications utilisant la plateforme Java. La Java Persistence API est à l'origine issue du travail du groupe d'experts JSR 220. La persistance dans ce contexte recouvre trois zones : l'API elle-même, définie dans le paquetage javax.persistence ; le langage Java Persistence Query (JPQL) ; l'objet/les métadonnées relationnelles. La Java Persistence API repose essentiellement sur l'utilisation des annotations, introduites dans Java 5. Elles permettent de définir facilement des objets métier, qui pourront servir d'interface entre la base de données et l'application, dans le cadre d'un mapping objet-relationnel. Par exemple, cette classe traduit une relation "Compte" dans une base de données SQL : package org.foo.models.auth; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "compte") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Compte.findAll", query = "SELECT a FROM Compte a"), @NamedQuery(name = "Compte.findByLogin", query = "SELECT a FROM Compte a WHERE a.login = :login"), @NamedQuery(name = "Compte.findByEmail", query = "SELECT a FROM Compte a WHERE a.email = :email")}) public class Compte implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "login") private String login; @Basic(optional = false) @Column(name = "password") private String password; @Basic(optional = false) @Column(name = "email") private String email; @JoinColumn(name = "typeProfil", referencedColumnName = "idProfil") @ManyToOne(optional = false) private Profil typeProfil; public Compte() { } public Compte(String login) { this.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.