Hachim IDRISSI YASSINE, de ProfLibre.
L’objectif de cette formation est de savoir comment télécharger une version spécifique d’Hibernate et de configurer son premier projet en utilisant l’API JPA.
L’objectif de cette formation est de savoir comment télécharger une version spécifique d’Hibernate et de configurer son premier projet en utilisant l’APIJPA avec MySQL.
Des connaissances en :
Ayant consulté la formation précédente dans la même série.
NB : cette formation pourra être utile pour d’autres versions.
Sur MYSQL :
Créez la base hibernatenative via l’IHM :
Ou via la commande SQL :
create database if not exists hibernatenative;
- Pilote = Driver = Connecteur
- Accédez au site officiel de MYSQL :
- Cliquez ensuite sur le menu Documentation :
- Cliquez sur Connectors :
https://dev.mysql.com/doc/index-connectors.html
- Accédez au dernier connecteur à date et vérifier la compatibilité des versions (MYSQL/JAVA) :
https://dev.mysql.com/doc/connector-j/8.0/en/
- Dans la table des matière, cliquez sur Connector/J Versions, and the MySQL and Java Versions They Require :
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html
NB : dans notre cas nous avons sélectionné le dernier connecteur qui est compatible à la fois avec la version du serveur MYSQL qu‘on utilise et la version de JAVA utilisée, sinon chercher dans l’archive sur le même site.
Connector/J : connecteur JAVA pour MYSQL.
- Dans la table des matières, cliquez sur le menu Connector/J Installation :
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-installing.html
- Cliquez ensuite sur Connector/J Download page :
https://dev.mysql.com/downloads/connector/j/
- Choisissez le SE (Plateform Intependant), puis cliquez sur download (zip), puis No thanks, just start my download :
mysql-connector-java-8.0.20.zip
- Après extraction, on trouve dedans le fichier JAR cherché:
mysql-connector-java-8.0.20.jar
- Rendez-vous sur :
https://hibernate.org/orm/releases/
- Choisir la version 5.3 :
https://hibernate.org/orm/releases/5.3/
- Puis la version 5.3.5 dans la même page.
- Cliquez ensuite sur Download.
Remarque : on utilisera Maven ultérieurement dans d’autres formations sur proflibre.com.
- Ouvrir Eclipse
- New > Project > JAVA Project
- Donnez un nom à votre projet.
- Choisissez JAVA 1.8
- Bouton droit sur le projet :
> Properties
> JAVA BUILD PATH
> Add JAR : mysql-connector-java-8.0.20.jar
- Bouton droit sur le projet :
> Properties
> JAVA BUILD PATH
> Add Library
> User Library > User libraries… > New Library > Hibernatev5.3.5 > Add External JARs
Propriété | Valeur | Notes |
connection.pool_size | 1 | Nombre maximal de connexions dans le pool. |
hibernate.show_sql | true | Activer la journalisation de toutes les requêtes SQL générées sur la console. |
hibernate.format_sql | true | Rendre les requêtes plus lisibles (occupent plus d’espaces sur la console). |
use_sql_comments | true | Commentaires pour faire la correspondance entre les requêtes objets et les requêtes SQL. |
hibernate.hbm2ddl.auto | update | Valeurs possibles : none (par défaut), create-only, drop, create, create-drop, validate, et update. |
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="myunit">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.connection.pool_size" value="10"></property>
<property name="hibernate.show_sql" value="true"></property>
<property name="hibernate.format_sql" value="true"></property>
<property name="hibernate.use_sql_comments" value="true"></property>
<property name="hibernate.hbm2ddl.auto" value="update"></property>
</properties>
</persistence-unit>
</persistence>
Propriété | Valeur | Notes |
hibernate.dialect | org.hibernate.dialect.MySQL5Dialect | Chercher le package org.hibernate.dialect ensuite MYSQL dans https://docs.jboss.org/hibernate/orm/5.3/javadocs/ |
hibernate.connection.driver_class | com.mysql.cj.jdbc.Driver | Chercher dans la documentation du SGBD utilisé, pour MYSQL : https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-usagenotes-connect-drivermanager.html + L’url JDBC de la BD.hibernate.connection.url |
hibernate.connection.url | jdbc:mysql://localhost:8889/hibernatenative | |
hibernate.connection.username | root | Nom de l’utilisateur de la BD |
Hibernate.connection.password | root | Mot de passe de la BD. |
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:8889/hibernatenative?serverTimezone=UTC
hibernate.connection.username=root
hibernate.connection.password=root
NB : le port par défaut de MySQL 3306 est très utilisé aussi.
package com.proflibre.hachim;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class PlayHibernateJPA {
public static EntityManagerFactory entityManagerFactory;
public static void main(String[] args) {
entityManagerFactory = Persistence.createEntityManagerFactory("myunit");
//TRAITEMENT
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.createNativeQuery("SELECT 100 FROM DUAL").getSingleResult();
//FIN TRAITEMENT
if(entityManagerFactory != null) entityManagerFactory.close();
}
}
Après exécution de la classe PlayHibernateJPA.java, voici la journalisation (log) obtenue sur la console d’Eclipse :
Dans l’étape suivante, nous allons découvrir comment configurer les entités avec l’API JPA.
Vous seul vous pouvez voir vos notes.