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

Hibernate Java Discussion :

demande de doc, exemples Hibernate


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Par défaut demande de doc, exemples Hibernate
    Bonjour, je cherche des exemple simple avec hibernate (comment ajouter, modifier, supprimer dans une base donnée) éventuellement comment faire des jointures entre des tables. j'ai lu plusieurs articles mais a chaque fois ça se limite a une table relationnelle ou c'est trop théorique.
    Avez vous des exemples concrets, vos propres applications...Un truc qui peut m'aider a faire mes propres applications en utilisant Hibernate.
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    Salut emma3345, bon alors je t'envoie le source du projet (je bosse sous eclipse) qui me permet de tester la (petite) BD que j'ai déjà décrite ici.
    Tu y trouveras les fichiers de mappings des tables principales (pas besoin de mapper la table de jointure), le fichier de test d'hibernate (en l'occurence, l'inscription d'un étudiant à un TP), bref tout ce qu'il faut pour que cela fonctionne. En espérant que cela t'aidera à y voir plus clair, ainsi qu'à d'autres!
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Par défaut
    merci de m'avoir répondu.
    1. Est-il nécessaire pour être gérée par Hibernate que la table de jointure "linkmissionlearn" ait son propre identifiant?
    2. j'utilise Hibernate Synchroniser pour créer le fichier de configuration et les fichiers de mapping. Quand je sélectionne 2 tables(mission et leraner), Hibernate Synchroniser ne me crée pas les fichiers de mapping. pourquoi?
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    merci de m'avoir répondu
    Pas de quoi.

    1. Non
    2. Mystère et boule de gomme... Je suppose un problème de config, mais alors pas sûr du tout.

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 92
    Par défaut
    Moi aussi j'ai le meme probleme que emma345, j'utilise hibernate synchronizer, les fichiers de mapping ne sont pas generés. je vais essyer de voir pourquoi...
    ma question complete celle de emma3345, la table LinkMissionLearner doit etre mapper aussi (faut il avoir une classe LinkMissionLearner.java)?
    Si ce n'est pas le cas comment on fait pour inserer dans cette table?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    Pour ton problème d'hibernate synchronizer, je peux rien pour toi, par contre la classe de Test fournie dans le source te permet de répondre à tes deux dernières questions...
    Non, pas besoin de mapper la table de jointure, hibernate s'occupe de la mise à jour de cette table tout seul, comme un grand.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Mission mission = (Mission)session.load(Mission.class, 1);
    Learner learn = (Learner) session.load(Learner.class, 3);
    learn.getMissionSet().add(mission);

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Par défaut
    salut,
    quand j'esaye d'executer ce main
    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
    import hibernate.*;
     
    import java.io.File;
    import java.net.URL;
    import java.util.*;
    import org.hibernate.*;
    import org.apache.log4j.Logger;
    import org.apache.log4j.xml.DOMConfigurator;
     
    public class Test {
    	//le logger qui va permettre de journaliser (on définit des appenders dans le log4j.xml)
    	private static final Logger test = Logger.getLogger(Test.class);
     
    	//main
    	public static void main(String[] args)
    	throws HibernateException {
     
    		Session session = HibernateUtil.currentSession();
     
    		Transaction tx = session.beginTransaction();
    		//construction de l'objet à insérer
    		//ici on inscrit un étudiant (le 3) à un TP (le 1)
    		Mission mission = (Mission)session.load(Mission.class, 1);
    		Learner learn = (Learner) session.load(Learner.class, 3);
    		learn.getMissionSet().add(mission);
    		tx.commit();
     
    		HibernateUtil.closeSession();
    	}
     
    }
    j'obtiens cette erreur:
    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
    15:54:59,890  INFO Environment:460 - Hibernate 3.0rc1
    15:54:59,906  INFO Environment:478 - loaded properties from resource hibernate.properties: {log4j.logger.org.hibernate.type=info, log4j.appender.stdout=org.apache.log4j.ConsoleAppender, log4j.rootLogger=debug, stdout, hibernate.cglib.use_reflection_optimizer=true, log4j.logger.org.hibernate.tool.hbm2ddl=info, log4j.logger.org.hibernate=info, log4j.logger.org.hibernate.SQL=debug, log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n, log4j.logger.org.hibernate.cache=info, log4j.appender.stdout.layout=org.apache.log4j.PatternLayout, log4j.appender.stdout.Target=System.out}
    15:54:59,906  INFO Environment:506 - using CGLIB reflection optimizer
    15:54:59,906  INFO Environment:536 - using JDK 1.4 java.sql.Timestamp handling
    15:54:59,906  INFO Configuration:1239 - configuring from resource: /hibernate.cfg.xml
    15:54:59,906  INFO Configuration:1210 - Configuration resource: /hibernate.cfg.xml
    15:55:00,687 ERROR XMLHelper:59 - Error parsing XML: /hibernate.cfg.xml(30) The content of element type "session-factory" is incomplete, it must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".
    15:55:00,687 ERROR Configuration:1301 - problem parsing configuration/hibernate.cfg.xml
    org.hibernate.MappingException: invalid configuration
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1298)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1241)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1227)
    	at HibernateUtil.<clinit>(HibernateUtil.java:12)
    	at Test.main(Test.java:18)
    Caused by: org.xml.sax.SAXParseException: The content of element type "session-factory" is incomplete, it must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
    	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.dom4j.io.SAXReader.read(SAXReader.java:339)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1297)
    	... 4 more
    Initial SessionFactory creation failed.org.hibernate.HibernateException: problem parsing configuration/hibernate.cfg.xml
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at HibernateUtil.<clinit>(HibernateUtil.java:16)
    	at Test.main(Test.java:18)
    Caused by: org.hibernate.HibernateException: problem parsing configuration/hibernate.cfg.xml
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1302)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1241)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1227)
    	at HibernateUtil.<clinit>(HibernateUtil.java:12)
    	... 1 more
    Caused by: org.hibernate.MappingException: invalid configuration
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1298)
    	... 4 more
    Caused by: org.xml.sax.SAXParseException: The content of element type "session-factory" is incomplete, it must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
    	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.dom4j.io.SAXReader.read(SAXReader.java:339)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1297)
    	... 4 more
    et pourtant j'ai suivi les consignes du tuto et aussi j'ai mappé que la table mission et learner.
    ca rends fou lol

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    Montre nous ton hibernate.cfg.xml, qu'on voit un peu ce qui ne va pas.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Par défaut
    merci, voila mon hibernate.cfg.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
    <?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:mysql://localhost/base1
    		</property>
    		<property name="hibernate.connection.driver_class">
    			com.mysql.jdbc.Driver
    		</property>
    		<property name="hibernate.connection.username">root</property>
    		<property name="hibernate.connection.password"></property>
    		<!-- property name="hibernate.connection.pool_size"></property -->
     
    		<!-- dialect for MySQL -->
    		<property name="dialect">
    			net.sf.hibernate.dialect.MySQLDialect
    		</property>
     
    		<property name="hibernate.show_sql">false</property>
    		<property name="hibernate.use_outer_join">true</property>
    		<!-- 
    			<property name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JTATransactionFactory</property>
    			<property name="jta.UserTransaction">java:comp/UserTransaction</property>
    		-->
     
    		<property name="hibernate.transaction.factory_class">
    			net.sf.hibernate.transaction.JDBCTransactionFactory
    		</property>
     
    	</session-factory>
    </hibernate-configuration>

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    Tu es sûre d'avoir bien suivi le tuto? parce qu'il me semble qu'il te manque les balises du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mapping resource="blabla.hbm" />
    ...

    EDIT: sinon pour le plugin d'eclipse, je suis passé sous hibernate Tools qui permet d'avoir des fichiers de configuration et de mapping correspondant à la version 3 d'hibernate. Vérifies si tu as hibernate 2.jar ou 3. Ca pourra aider.

Discussions similaires

  1. premier exemple hibernate: org.hibernate.MappingException
    Par info_plus dans le forum Hibernate
    Réponses: 3
    Dernier message: 26/03/2008, 12h31
  2. Réponses: 1
    Dernier message: 21/06/2005, 01h49

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