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 :

PostgresSQL Sauvegarde non effectuée


Sujet :

Hibernate Java

  1. #1
    Invité
    Invité(e)
    Par défaut PostgresSQL Sauvegarde non effectuée
    Bonjour,

    Je me suis crée un objet 'Group'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Group<T> implements Comparable<Group<T>>, Serializable {
     
    	/** Serial version UID */
    	private static final long serialVersionUID = 741587360128392267L;
     
    	T holded;		// Type of object holded by this group
     
    	private String name;
    	private String description;
    	private List<T> items;	
     
            // Constructeurs, accesseurs...
    }
    Je voudrais persister cet objet sans la liste d'items..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <hibernate-mapping>    
        <class name="be.me.Group" table="groups">
            <id name="name" column="grpname">
                <generator class="assigned" />
            </id>
            <property name="description" column="grpdescription" />
            <property name="holded" column="grptype" type="java.lang.String" access="field"/>
        </class>    
    </hibernate-mapping>

    Lorsque je lance l'exécution du code ci-dessous, je récupère bien les clef aprés sauvegarde mais jamais d'objet lorsque je veux en restaurer un et ma table reste vide. :
    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
     
    ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.xml");
            DAOFactory daof = (DAOFactory) ctx.getBean("daoFactory");
     
            GroupDao grpDao = daof.getGroupDao();
     
            System.out.println( grpDao.saveGroup(new Group<Classe>("Technique")) );
            System.out.println( grpDao.saveGroup(new Group<Classe>("Géneraux")) );
            System.out.println( grpDao.saveGroup(new Group<Classe>("Langues")) );
            System.out.println( grpDao.saveGroup(new Group<Classe>("Phylosophiques")) );
     
            Group<Classe> group = (Group<Classe>) grpDao.getGroup("Technique");
            if ( group!=null ) 
            	System.out.println( group.getName() +"\n"+ group.getDescription());
            else 
            	System.out.println("Group is null");
    Voici mes logs :
    DEBUG [main] org.hibernate.impl.SessionImpl - opened session at timestamp: 12035160399
    DEBUG [main] org.hibernate.impl.SessionImpl - opened session at timestamp: 12035160399
    DEBUG [main] org.hibernate.event.def.AbstractSaveEventListener - generated identifier: Technique, using strategy: org.hibernate.id.Assigned
    DEBUG [main] org.hibernate.event.def.AbstractSaveEventListener - generated identifier: Technique, using strategy: org.hibernate.id.Assigned
    Technique

    // Chargement
    DEBUG [main] org.hibernate.impl.SessionImpl - opened session at timestamp: 12035160400
    DEBUG [main] org.hibernate.impl.SessionImpl - opened session at timestamp: 12035160400
    DEBUG [main] org.hibernate.loader.Loader - loading entity: [be.gervaisb.commons.beans.Group#Technique]
    DEBUG [main] org.hibernate.loader.Loader - loading entity: [be.gervaisb.commons.beans.Group#Technique]
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
    DEBUG [main] org.hibernate.jdbc.ConnectionManager - opening JDBC connection
    DEBUG [main] org.hibernate.jdbc.ConnectionManager - opening JDBC connection
    DEBUG [main] org.hibernate.SQL - select group0_.grpname as grpname0_0_, group0_.grpdescription as grpdescr2_0_0_, group0_.grptype as grptype0_0_ from groups group0_ where group0_.grpname=?
    DEBUG [main] org.hibernate.SQL - select group0_.grpname as grpname0_0_, group0_.grpdescription as grpdescr2_0_0_, group0_.grptype as grptype0_0_ from groups group0_ where group0_.grpname=?
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
    DEBUG [main] org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
    DEBUG [main] org.hibernate.engine.StatefulPersistenceContext - initializing non-lazy collections
    DEBUG [main] org.hibernate.engine.StatefulPersistenceContext - initializing non-lazy collections
    DEBUG [main] org.hibernate.loader.Loader - done entity load
    DEBUG [main] org.hibernate.loader.Loader - done entity load
    DEBUG [main] org.hibernate.jdbc.ConnectionManager - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
    DEBUG [main] org.hibernate.jdbc.ConnectionManager - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
    Group is null

    Je ne vois pas ce qui cloche dans le jeux. Tout semble se passer correctement mais rien ne sinsère..

    Edit 0 : Par contre un autre bean fonctionne très bien. Ne serais-ce pas à cause de l'id qui est une String ?
    Edit 1 : Si j'entre à la main un clef dans la table tout se passe bien côté récupération.
    Dernière modification par Invité ; 20/02/2008 à 15h44.

  2. #2
    Invité
    Invité(e)
    Par défaut Solution
    J'utilise Spring j'ai du utiliser getHibernateTemplet() eu lieu de getSession() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /* Ne fonctionne pas pour une raison obscure
     * getSession.save(objet); */
    getHibernateTemplate().save(objet);
    Reste à savoir, pourquoi. Je poste de suite sur Le forum Spring.. (Voici le post : http://www.developpez.net/forums/sho...14#post2972914 )

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

Discussions similaires

  1. [XL-2007] Sauvegarde non effectuée
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 22/02/2013, 13h22
  2. Me.Controls.add sauvegarde non effectuée
    Par XineMA dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/08/2007, 10h21
  3. Ecriture sur fichier texte non effectuée
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2007, 09h20
  4. Update non effectué
    Par nellynew dans le forum Access
    Réponses: 1
    Dernier message: 13/09/2006, 12h37
  5. [Upload] Upload de wav et renommage non effectué
    Par PuppeT mAsTer dans le forum Langage
    Réponses: 4
    Dernier message: 17/07/2006, 18h22

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