====== JPA ====== ====== Java Persistence Api ====== La Java Persistence API permet 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 puis JSR 317 pour JPA 2.0. La persistance dans ce contexte recouvre 3 zones: * l'API elle-même, définie dans le javax.persistence package * le langage Java Persistence Query ([[/glossaire/JPQL|Java Persistence Query Language (JPQL)]]) * l'objet et les métadonnées relationnelles (relational metadata) Une entité persistente est une classe Java légère ([[/glossaire/POJO|Plain Old Java Objects (POJO)]]) dont l'état est généralement conservé dans une table d'une base de données relationnelle et une instance d'une telle classe correspond à une ligne de la table. Il peut être question de plusieurs table quand la classe hérite d'autres classes elle même persistente.\\ Les relations entre les entités peuvent être exprimées avec des méta-données (@Attribut) ou dans un fichier [[/glossaire/XML|XML]]. Voir: * [[http://download.oracle.com/javaee/6/api/javax/persistence/package-summary.html|Javadoc]] * [[http://www.jmdoudoux.fr/java/dej/chap-jpa.htm|JPA par JM Doudoux]] * [[wpfr>Java_Persistence_API]], [[wp>Java_Persistence_API]] * [[/glossaire/JDO|Java Data Objects (JDO)]], [[/glossaire/EJB|Enterprise JavaBeans (EJB)]] * Hibernate (JBoss), DataNucleus (JPOX), OpenJPA, TopLink (EclipseLink), iBatis, OpenXava, JDBC