Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem with store procedures and Hibernate

863597May 22 2011
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 i´m 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?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 19 2011
Added on May 22 2011
0 comments
247 views