Bonjour à tous,
Voici ma table sgllienmouvement (que je ne peux pas modifier) :
La colonne idsglmouvement est mappée ainsi :
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 mysql> show columns from sgllienmouvement; +-----------------------+---------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+---------------------+------+-----+---------------------+----------------+ | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | idsglmouvement | bigint(20) unsigned | NO | MUL | 0 | | | idsglmouvementautre | bigint(20) unsigned | NO | MUL | 0 | | | idsidevenementpatient | bigint(20) unsigned | NO | MUL | 0 | | | dateheuredeb | datetime | NO | | 0000-00-00 00:00:00 | | | etat | varchar(255) | NO | | | | | idfhausermaj | bigint(20) unsigned | NO | | 0 | | | datemaj | datetime | NO | | 0000-00-00 00:00:00 | | +-----------------------+---------------------+------+-----+---------------------+----------------+ 8 rows in set (0.01 sec)
Mon problème c'est que lorsque je lance un update d'un objet Sgllienmouvement, si l'objet sglmouvement est null, l'exception suivante est lancée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <many-to-one class="domain.model.Sglmouvement" fetch="join" name="sglmouvement"> <column name="idsglmouvement" not-null="false" /> </many-to-one>
J'ai tenté de faire un "update sgllienmouvement set idsglmouvement = null where id = ?" directement dans MySQL et malgré un avertissement "Column 'idsglmouvement' cannot be null", la requête est bien exécutée et il me remplace bien le NULL par 0 qui est la valeur par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/XXX] threw exception [Could not execute JDBC batch update] with root cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'idsglmouvement' cannot be null
Comment faire pour résoudre mon problème ?
Merci pour vos réponse.
Cordialement,
Partager