• 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:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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
 
A wop bop a lu bob a womp bam boom. Tutti frutti ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic