Win a copy of Terraform in Action this week in the Cloud forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Rob Spoor
  • Bear Bibeault
Saloon Keepers:
  • Jesse Silverman
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Al Hobbs
  • salvin francis

Getting an error when trying to insert data

 
Ranch Hand
Posts: 77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi there,

I have 2 tables and one of them has a foreign key on the other table. I insert the data in to the first table which gets inserted properly. When I try to insert data in the child table which has a foreign key on the first table, I get an error saying parent key not found... here is the dump. I Cannot understand as to why this happen when the data which is a foreign key is already inserted...

Caused by: com.nasd.fms.framework.database.DaoException: Exception in HibernateDao.insert()!
at com.nasd.fms.framework.database.HibernateDao.insert(HibernateDao.java:250)
at com.nasd.fms.framework.database.HibernateDao.insert(HibernateDao.java:220)
at com.nasd.mrdt.MRDTMappingDriver.prepareDataForSavings(MRDTMappingDriver.java:90)
at com.nasd.fms.xread.MappingManagerImpl.Transform(MappingManagerImpl.java:145)
... 20 more
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
at $Proxy0.flush(Unknown Source)
at com.nasd.fms.framework.database.HibernateDao.insert(HibernateDao.java:239)
... 23 more
Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (NMAOWNER.SYS_C002743) violated - parent key not found

at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:458)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:4105)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
 
Ranch Hand
Posts: 141
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Looks like there is some problem in the hibernate mapping file. Please post the contents of the hbm mapping files for parent and child object
 
Harjit Singh
Ranch Hand
Posts: 77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I actually got it... The relationship had to defined using a different approach

I had to use this

<composite-id>
<key-property
name="indvlCrdNb"
column="INDVL_CRD_NB"
type="java.lang.Long"
length="10"
/>
<!-- bi-directional many-to-one association to ApplicantFirm -->
<key-property
name="firmCrdNb"
column="FIRM_CRD_NB"
type="java.lang.Integer"
length="8"
/>
<key-property
name="flngSeqNb"
column="FLNG_SEQ_NB"
type="java.lang.Integer"
length="8"
/>
</composite-id>
<!-- bi-directional many-to-one association to ApplicantFirm -->
<many-to-one
name="applicantFirm"
class="com.nasd.fms.framework.database.hibernate.pojo.ApplicantFirm" insert="false" update="false">
<column name="FIRM_CRD_NB" />
<column name="FLNG_SEQ_NB" />
</many-to-one>

instead ofusing key-many-to-one...
 
Ranch Hand
Posts: 189
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hello
Have a look at these use cases
http://www.makemyinfo.com/Tutorial.do?action=getTutorial&tutId=T0005.jsp
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic