Blue Flower

Chercher

Création d'un projet JPA

1. Un projet JPA avec Java SE

1.1. Les pré-requis

 Dans cet article on va voir différents aspect de JPA en développant un projet simple en s'appuyant au technologies suivantes:

  • maven >= 3.0
  • JPA 2.1
  • Hibernate
  • H2

Dans cet exemple, on va utiliser utiliserons Maven pour configurer nos dépendances requises. On vu que JPA n'est qu'une spécification et pour l'implémenter Il existe beaucoup d'implémentations gratuites disponibles comme EclipseLink, Hibernate, etc... . Dans notre exemple on va utiliser Hibernate pour l'implémentation de JPA et comme  base de données on utilisera MySQL.
Pour commencer, Créons d'abord un projet maven simple. On va    créer  un projet  en utilisant un archétype de démarrage (voir un autre tuto pour cette création).

 

.....

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.omara.javaExemples</groupId>
  <artifactId>jpa-exemple</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>jpa-exemple</name>
  <url>http://ocamil.com</url>
  <properties>
    <java.version>1.8</java.version>
    <hibernate.version>4.3.6.Final</hibernate.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <!-- JPA -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>${hibernate.version}</version>
    </dependency>
    <!-- For connection pooling -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-c3p0</artifactId>
      <version>${hibernate.version}</version>
    </dependency>
    <!-- Database -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
     <version>5.1.31</version>
    </dependency>
    <!-- Test -->
    <dependency>
     <groupId>junit</groupId>
      <artifactId>junit</artifactId>
     <version>4.11</version>
      <scope>test</scope>
      <exclusions>
       <exclusion>
        <groupId>org.hamcrest</groupId>
         <artifactId>hamcrest-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
    <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <version>1.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
       <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.5.1</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <compilerArgument>-Xlint:all</compilerArgument>
          <showWarnings>true</showWarnings>
          <showDeprecation>true</showDeprecation>
       </configuration>
      </plugin>
    </plugins>
  </build>
</project>
....
 

(à suivre)..

précédent