IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

Plugins Hibernate Tools sous Maven2


Sujet :

Eclipse Java

  1. #1
    Membre averti Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Points : 414
    Points
    414
    Par défaut Plugins Hibernate Tools sous Maven2
    Bonjour à tous,

    Voilà, je suis tout nouvellement sous eclipse version 3.2.1. J'utilise Maven2 via son plugin pour Eclipse.
    J'ai commencé par créer un projet maven via mvn archetype:create puis un petit coup de mvn eclipse:eclipse et me voilà avec un beau petit projet eclipse bien ... vide...

    Mon but était de réaliser quelques tests avec hibernate sous hsqldb... J'ai donc modifié mon pom en conséquence :

    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
    <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/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
     
      <groupId>test.sib</groupId>
      <artifactId>hibernate-test</artifactId>
      <packaging>jar</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>Hibernate test</name>
      <url>http://maven.apache.org</url>
     
      <dependencies>
     
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
     
        <dependency>
            <groupId>hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.0.5</version>
            <scope>compile</scope>
        </dependency>
     
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>1.8.0.7</version>
        </dependency>
     
      </dependencies>
     
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <configuration>
                        <mainClass>test.sib.App</mainClass>
                    </configuration>
                </plugin>
     
            </plugins>
        </build>
     
    </project>
    J'essaie dans un premier temps de générer les classes relatifs à un fichier Book.hbm.xml placé sous src/main/resources :

    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
     
    <hibernate-mapping package="test.siberia.hibernate">
      <class name="Book" table="books">
        <meta attribute="class-description">
          Cette classe représente un livre appartenant à une collection.
        </meta>
     
        <id name="id" type="int" column="book_id">
          <meta attribute="scope-set">protected</meta>
          <meta attribute="field-description">
            L'ISBN n'est pas utilisé comme identificateur unique afin de pouvoir
            posséder plusieurs exemplaires d'un même ouvrage dans sa collection.
          </meta>
          <generator class="native" />
        </id>
     
        <property name="author" type="string" not-null="true" />
     
        <property name="title" type="string" not-null="true" />
     
        <property name="cover" type="string" not-null="true">
          <meta attribute="field-description">
            Contient le chemin vers une image de la couverture. Ce chemin peut
            être une URL ou un chemin local.
          </meta>
        </property>
     
        <property name="published" type="date">
          <meta attribute="field-description">Date de publication</meta>
        </property>
      </class>
    </hibernate-mapping>
    Dans ce même répertorie se trouve le fichier de configuration hibernate qui ressemble à ca :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration
        PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
     
    <hibernate-configuration>
        <session-factory >
     
            <!-- local connection properties -->
     
            <property name="hibernate.connection.url">jdbc:hsqldb:db/books</property>
            <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
            <property name="hibernate.connection.username">sa</property>
            <property name="hibernate.connection.password"></property>
     
            <!-- dialect for HypersonicSQL -->
            <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
     
            <property name="hibernate.show_sql">false</property>
            <property name="hibernate.use_outer_join">true</property>
            <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
            <property name="jta.UserTransaction">java:comp/UserTransaction</property>
     
            <mapping resource="Book.hbm.xml"/>
     
        </session-factory>
    </hibernate-configuration>
    J'ai installé le plugin Hibernate-Tools 3.2.0 beta 8.
    Par l'intermédiaire de la vue "Hibernate Configurations", j'ai créé une configuration Hibernate pour le plugin en indiquant les emplacements de mon fichier cfg.xml et du jar de hsqldb.



    Le premier problème que je rencontre est que lorsque j'essaie d'étendre dans l'arbre des configurations Hibernate, le noeud correspondant à la configuration que je viens de créer, je me prend un méchant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    org.hibernate.MappingNotFoundException: resource: Book.hbm.xml not found
      <No message>
    allez, vlan...

    J'ai essayé différents chemins pour pointer le fichier dans le fichier cfg.xml mais rien n'y fait....

    Pourtant, la compilation et le lancement via maven d'un test sommaire de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        public static void main( String[] args ) throws HibernateException
        {
            System.out.print("launching App");
            Session session = HibernateUtil.currentSession();
            Transaction tx = session.beginTransaction();
     
            tx.commit();
     
            HibernateUtil.closeSession();
        }
    me crée bien un répertoire db (avec trois fichiers books.* ) sous le répertoire project 'hibernate-test' ce qui me laisse penser que j'arrive bien à me connecter à la base hsql et puis dans les messages de log au lancement du petit programme, j'ai la trace suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         [exec] INFO: Mapping resource: Book.hbm.xml
         [exec] 13 oct. 2006 22:40:53 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
         [exec] INFO: Mapping class: test.siberia.hibernate.Book -> books
         [exec] 13 oct. 2006 22:40:53 org.hibernate.cfg.Configuration doConfigure
         [exec] INFO: Configured SessionFactory: null
    ce qui me laisse penser que via maven, le fichier est bel et bien trouvé !!!!!

    Quelqu'un pourrait-il m'éclairer un peu???

    D'avance merci

  2. #2
    Membre averti Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Points : 414
    Points
    414
    Par défaut
    personne n'utilise Hibernate-tools ou mon mail est trop indigeste à lire ??

Discussions similaires

  1. [Plugin][Hibernate Tools] sous eclipse
    Par c_salsabil dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 21/03/2010, 19h44
  2. [Plugin Hibernate Tools] Génération de fichier HBM
    Par YokoSop dans le forum Hibernate
    Réponses: 4
    Dernier message: 21/05/2008, 11h02
  3. Problème avec le plugin Hibernate tools
    Par euyeusu dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/10/2007, 13h46
  4. Plugin Hibernate Tools
    Par cicolas dans le forum Hibernate
    Réponses: 23
    Dernier message: 24/07/2006, 14h24
  5. [Plugin][Hibernate Tools] java.lang.NoClassDefFoundError
    Par notrustinyou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/11/2005, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo