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

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>
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
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>
vous trouverez ci-jointe une photo de l'arborescence du projet.

voici enfin l'erreur quand je lance la tâche BD:

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)
je précise que j'ai réussi à lancer un petit programme de test de log4j, je ne sais plus quoi faire.
lolveley.