Bonjour, je fais une appli struts, spring, hibernate, mysql et lorsque je crée un objet qu'hibernate va insérer en base, j'ai une erreur si je ne rempli pas tous les paramètres de mon objet.

Je m'explique : j'ai un objet voiture qui a comme paramètres un id, un nom, un modele, une annee, un kilométrage et un responsable.
En base j'ai donc voiture(voi_id,voi_nom,voi_modele,voi_annee,voi_kilometrage,res_id).

Mon fichier de mapping :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<hibernate-mapping>
        <class name="fr.gestentrep2.voitures.pojos.Voiture" table="T_VOI_VOITURE">
            <id name="id" column="voi_id" type="int"><generator class="increment"/></id>
            <property name="nom" column="voi_nom" type="string"/>
            <property name="modele" column="voi_modele" type="string"/>
            <property name="annee" column="voi_annee" type="int"/>
            <property name="kilometrage" column="voi_kilometrage" type="long"/>
            <property name="responsableId" column="res_id" type="int"/>
        </class>
</hibernate-mapping>
Lorsque je fais dans mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
        Session session = sessionFactory.getCurrentSession();
        Voiture theVoiture = new Voiture();
        theVoiture.setNom(nom);
        theVoiture.setModele(modele);
        theVoiture.setAnnee(Integer.parseInt(annee));
        theVoiture.setKilometrage(Long.parseLong(kilometrage));
        session.save(theVoiture);
j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
javax.servlet.ServletException: Hibernate operation: Could not execute JDBC batch update; uncategorized SQLException for SQL [insert into T_VOI_VOITURE (voi_nom, voi_modele, voi_annee, voi_kilometrage, res_id, voi_id) values (?, ?, ?, ?, ?, ?)]; SQL state [S1009]; error code [0]; Statement parameter 5 not set.; nested exception is java.sql.BatchUpdateException: Statement parameter 5 not set.
Apparemment il ne veux pas créer l'objet en base car il manque le 5ième paramètre qui est le responsable (res_id).

Mais moi je veux quand même créer mon objet avec un res_id vide.

Comment faire?

ps: je précise que sans spring l'insert se fait correctement et res_id est vide.