I got some problem when I am trying to override INSERT, and UPDATE operations in Hibernate. My delete functions works fine, and everything works when im not override with my stored procedure, and I have no idea why. When I am trying to make an INSERT, everything seems to be fine but no data is being insert and no excpetion throws.
When I am trying to make an UPDATE following excpetion throws:
Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not update: [labb6Hibernate.bil#18]

Here is my hbm.xml file:
<hibernate-mapping>
  <class catalog="Cars" name="labb6Hibernate.bil" table="Bil">
    <id name="idNum" type="java.lang.Integer">
      <column name="idNum"/>
      <generator class="identity"/>
    </id>
    <property name="marke" type="string">
      <column length="10" name="Marke" not-null="true"/>
    </property>
    <property name="modell" type="string">
      <column length="10" name="Modell" not-null="true"/>
    </property>
    <property name="arsmodell" type="string">
      <column length="4" name="Arsmodell" not-null="true"/>
    </property>
    <sql-insert callable="true"> { call insertCars(?,?,?) }  </sql-insert>
    <sql-update callable="true"> { call updateCars(?,?,?) </sql-update>
    <sql-delete callable="true"> { call deleteCars(?) }  </sql-delete>
  </class>

Here is my UPDATE code:
Session session = MyHibernateUtil.getSessionFactory().openSession();
       session.beginTransaction();
       int s = Integer.parseInt(idTxt.getText());
       bil Bil = (bil) session.get(bil.class, s);
       Bil.setIdNum(s);
       Bil.setMarke(markeTxt.getText());
       Bil.setModell(modellTxt.getText());
       Bil.setArsmodell(arsmodellTxt.getText());
       session.update(Bil);
       session.getTransaction().commit();
       session.close();

Here is my INSERT code:
Session session = MyHibernateUtil.getSessionFactory().openSession();
       session.beginTransaction();       
       bil Bil = new bil();
       Bil.setMarke(markeTxt.getText());
       Bil.setModell(modellTxt.getText());
       Bil.setArsmodell(arsmodellTxt.getText());
       session.save(Bil);
       session.getTransaction().commit();
       session.close();

Does anyone have an idea what is wrong in my code?