bonjour,
je voudrais utiliser netbeans / JPA / Hibernate pour créer le base de données qui correspond à 2 fichiers de classes (employés et indemnités).
les 2 classes sont reliées par une relation de 1 à plusieurs, je crois qu'il n'y a pas d'erreur de ce côté-là.
1e question: jer voudrais savoir si en lançant le projet je peux créer les tables de la base de données.
2e question: j'ai essayé de lancer cette création à partir de netbeans (clic-droit sur le fichier build.xml et option run target), mais j'obtiens des erreurs.
voici maintenant divers fichiers où vous trouverez peut-être ce qui cloche:
persistence.xml
build.xml
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 <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" 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_1_0.xsd"> <persistence-unit name="intro_J2EEPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.connection.username" value="jpa2"/> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> <property name="hibernate.connection.password" value="jpa2"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa2"/> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>
vous trouverez ci-jointe une photo de l'arborescence du projet.
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 <?xml version="1.0" encoding="UTF-8"?> <project name="intro_J2EE" default="BD" basedir="."> <import file="nbproject/build-impl.xml"/> <!-- 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="dist.dir" value="dist" /> <!-- le Classpath du projet --> <path id="project.classpath"> <fileset dir="${dist.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- 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" description="Génération DDL base"> <hibernatetool destdir="${basedir}"> <!-- 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" description="Génération BD"> <hibernatetool destdir="${basedir}"> <!-- Utiliser META-INF/persistence.xml --> <jpaconfiguration /> <!-- export --> <hbm2ddl drop="true" create="true" export="true" outputfilename="ddl/schema.sql" delimiter=";" format="true" /> </hibernatetool> </target> </project>
voici enfin l'erreur quand je lance la tâche BD:
je précise que j'ai réussi à lancer un petit programme de test de log4j, je ne sais plus quoi faire.BD:
Executing Hibernate Tool with a JPA Configuration
1. task: hbm2ddl (Generates database schema)
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
java.lang.NoClassDefFoundError: freemarker/template/SimpleHash
at org.hibernate.tool.hbm2x.TemplateHelper.init(TemplateHelper.java:64)
at org.hibernate.tool.hbm2x.AbstractExporter.setupTemplates(AbstractExporter.java:140)
at org.hibernate.tool.hbm2x.AbstractExporter.start(AbstractExporter.java:93)
at org.hibernate.tool.ant.ExporterTask.execute(ExporterTask.java:40)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:186)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:273)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:499)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
Caused by: java.lang.ClassNotFoundException: freemarker.template.SimpleHash
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1400)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1341)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1088)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 21 more
BUILD FAILED (total time: 1 second)
lolveley.
Partager