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 :

Update list 'Column cannot be null'


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 22
    Points : 9
    Points
    9
    Par défaut Update list 'Column cannot be null'
    Bonjour,

    je n'ai pas encore beaucoup d'experience avec Hibernate et je tombe sur un problème que je n'arrive pas a résoudre... je pense que ca doit être une erreur bateau mais pas moyen de me sortir de la !!

    J'ai un objet config qui possède une liste de types :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <list name="types" lazy="false" table="type">
         <key column="config"/>
         <index column="id" />
         <one-to-many class="test.objects.Type"/>
    </list>
    Je fais une modification basique :
    - Je récupère un objet config
    - Je renome ses types
    - Je sauve l'objet config
    - Je tombe sur une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ConfigService configService = new ConfigService(session);
    Config config = configService.findById("43a23021-2156-4552-a586-2d3719746e1a");
    List<Type> types = config.getTypes();
    for (Type type : types) {
    	type.setName("type n°"+i);
    }
    sessionService.update(config)
    tx.commit();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Hibernate: update type set name=?, startState=?, endState=?, delay=?, unit=?, config=? where id=?
    Hibernate: update type set name=?, startState=?, endState=?, delay=?, unit=?, config=? where id=?
    Hibernate: update type set config=null, id=null where config=?14:34:10,400 ERROR [JDBCExceptionReporter:58] Column 'config' cannot be null
    14:34:10,416 ERROR [AbstractFlushingEventListener:277] Could not synchronize database state with session
    org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
    Je n'ai que 2 elements dans ma liste normalement mais il me fait 3 updates...

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    ton objet types à un champ config (reférence vers config) ?

    Dans ce cas la tu as une raltion bi-directionelle (config à une liste de type / type à une config).
    il faut que tu dise à hibernate de quel côté du fais tes updates. En rajoutant inverse="true" dans ta balise <list>, tu précise que l'update se fait du côté de Type

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2012, 12h18
  2. [Mapping] MySQLIntegrityConstraintViolationException: Column cannot be null
    Par Floflo_85 dans le forum Hibernate
    Réponses: 2
    Dernier message: 08/08/2011, 11h04
  3. BatchUpdateException: Column 'IdT1' cannot be null
    Par MASSAKA dans le forum Hibernate
    Réponses: 13
    Dernier message: 07/06/2007, 18h11
  4. [EJB][JBOSS] ejb column cannot be null
    Par alfredeu dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/04/2005, 09h40

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