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 :

Problème Generator class


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut Problème Generator class
    Salut,

    Dans mon projet Java, j'utilise Hibernate.
    Je dois entrer dans une de mes tables un clé primaire qui est de type String.

    Première question:
    Est ce que je peux utiliser le generator class = 'assigned' pour entrer un String comme clé primaire?

    Si oui, j'ai un problème lorsque je veux sauver les nouvelles donées dans la base de données.
    Voici les exceptions que je reçois

    net.sf.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.minosis.hibernate.Virement
    at net.sf.hibernate.id.Assigned.generate(Assigned.java:26)
    at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:765)
    at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:738)
    at org.sambreville.pos.tools.Request.add_virement(Request.java:645)
    at org.sambreville.pos.tools.Money.actionPerformed(Money.java:126)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Voici mon code :

    Virement virement = new Virement();
    Transaction tx=null;
    try {
    tx = (Transaction) session.beginTransaction();
    } catch (HibernateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    virement.setIdVente(numTic);
    virement.setCommunication(num_commu);
    virement.setCompte("eeee");

    try {
    session.save(virement);
    } catch (HibernateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    try {
    tx.commit();
    } catch (HibernateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    Je vous demande de l'aide car je ne vois pas trop où est l'erreur.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    Personne n'a une idée?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    Toujours personne....arf

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Par défaut
    Hello,

    La balise code est parfois plus adaptée pour le code que la balise citation .

    Je crois que ton fichier hbm pourrait nous aider à y voir plus clair.

    La, tout ce que je peux y voir:
    c'est soit que la pk n'est pas idVente, soit que numTic est null.


    Bonne chance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    Citation Envoyé par yannick1717 Voir le message
    Hello,

    La balise code est parfois plus adaptée pour le code que la balise citation .
    Oui, désolé, jm'en suis rendu compte apres

    Citation Envoyé par yannick1717 Voir le message
    La, tout ce que je peux y voir:
    c'est soit que la pk n'est pas idVente, soit que numTic est null.
    idVente est bien la pk et j'ai bien vérifié que numTic n'est pas null.

    Voici le .hbm

    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
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
     
    <hibernate-mapping package="com.minosis.hibernate">
    	<class name="Virement" table="virement">
    		<id
    			column="idVente"
    			name="IdVente"
    			type="string"
    		>
    			<generator class="assigned" />
    		</id>
    		<property
    			column="communication"
    			length="225"
    			name="Communication"
    			not-null="true"
    			type="string"
    		 />
    		<property
    			column="compte"
    			length="50"
    			name="Compte"
    			not-null="true"
    			type="string"
    		 />
    	</class>
    </hibernate-mapping>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Par défaut
    Désolé, mais alors je ne vois pas.

    La seule chose que je crois, c'est peut-etre remplacer string par java.lang.String.
    Mis à part ça, je ne vois pas ce que ça peut-être

    (une autre suggestion est que dans ton hibernate.cfg.xml tu importes un autre fichier de mapping par mégarde) oui c'est très con mais ça peut arriver.

    Encore une fois, bonne chance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de classe.
    Par maminova77 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 21h39
  2. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 10h20
  3. Problème de classe
    Par DeusXL dans le forum DirectX
    Réponses: 15
    Dernier message: 04/12/2005, 14h37
  4. Problème de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/10/2005, 17h49
  5. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 22h51

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