Bonjour,
J'essaie de me former à hibernate et jpa, pour celà, j'essaie de suivre le tutorial disponible sur developpez "La persistance en base de données avec JPA" de Serge Tahé ici
Seulement, j'ai un petit problème, je n'arrive pas à exécuter le tout premier exemple.
J'utilise PostgreSQL.
Je ne sais pas trop si je dois tout décrire en détail, mais voici mon problème.
Je n'arrive pas à générer le fichier schema.sql, j'ai un fichier vide.
Donc quand je lance le script Ant (en mode -verbose), je vois ça:
J'imagine que mon problème doit venir de là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [javac] META-INF\persistence.xml skipped - don't know how to handle it [javac] entites\Personne.java added as entites/Personne.class doesn't exist.
Voici mon fichier persistance.xml (fichier qui était dans les sources du tuto):
Voici mon fichier Ant (dispo dans les sources du tuto aussi):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL"> <!-- provider --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <!-- Classes persistantes --> <property name="hibernate.archive.autodetection" value="class, hbm" /> <!-- logs SQL <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="use_sql_comments" value="true"/> --> <!-- connexion JDBC --> <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/jpa" /> <property name="hibernate.connection.username" value="jpa" /> <property name="hibernate.connection.password" value="jpa" /> <!-- création automatique du schéma --> <property name="hibernate.hbm2ddl.auto" value="create" /> <!-- Dialecte --> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> <!-- propriétés DataSource c3p0 --> <property name="hibernate.c3p0.min_size" value="5" /> <property name="hibernate.c3p0.max_size" value="20" /> <property name="hibernate.c3p0.timeout" value="300" /> <property name="hibernate.c3p0.max_statements" value="50" /> <property name="hibernate.c3p0.idle_test_period" value="3000" /> </properties> </persistence-unit> </persistence>
L'exemple du tuto est celui de "hibernate-personne-entities".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 <project name="jpa-hibernate" default="compile" basedir="."> <!-- nom du projet et version --> <property name="proj.name" value="jpa-hibernate" /> <property name="proj.shortname" value="jpa-hibernate" /> <property name="version" value="1.0" /> <!-- Propriété globales --> <property name="src.java.dir" value="src" /> <property name="lib.dir" value="../../../lib" /> <property name="build.dir" value="bin" /> <!-- le Classpath du projet --> <path id="project.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- les fichiers de configuration qui doivent être dans le classpath--> <patternset id="conf"> <include name="**/*.xml" /> <include name="**/*.properties" /> </patternset> <!-- Nettoyage projet --> <target name="clean" description="Nettoyer le projet"> <delete dir="${build.dir}" /> <mkdir dir="${build.dir}" /> </target> <!-- Compilation projet --> <target name="compile" depends="clean"> <javac srcdir="${src.java.dir}" destdir="${build.dir}" classpathref="project.classpath" /> </target> <!-- Copier les fichiers de configuration dans le classpath --> <target name="copyconf"> <mkdir dir="${build.dir}" /> <copy todir="${build.dir}"> <fileset dir="${src.java.dir}"> <patternset refid="conf" /> </fileset> </copy> </target> <!-- Hibernate Tools --> <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="project.classpath" /> <!-- Générer le schéma de la base --> <target name="DDL" depends="compile, copyconf" description="Génération DDL base"> <hibernatetool destdir="${basedir}"> <classpath path="${build.dir}" /> <!-- Utiliser META-INF/persistence.xml --> <jpaconfiguration /> <!-- export --> <hbm2ddl drop="true" create="true" export="false" outputfilename="ddl/schema.sql" delimiter=";" format="true" /> </hibernatetool> </target> <!-- Générer la base --> <target name="BD" depends="compile, copyconf" description="Génération BD"> <hibernatetool destdir="${basedir}"> <classpath path="${build.dir}" /> <!-- Utiliser META-INF/persistence.xml --> <jpaconfiguration /> <!-- export --> <hbm2ddl drop="true" create="true" export="true" outputfilename="ddl/schema.sql" delimiter=";" format="true" /> </hibernatetool> </target> </project>
Donc si quelqu'un pourrait me débloquer, j'aimerais continuer ce tuto.
Merci.
Partager