letsbedecent
asked on
Spring with Hibernate Experts please......
Hi all,
The situation,
I have three objects A,B,C relations are (A->C one to many) and (B->C one to many)
Situation, i have only one form to insert all the three..... A,B, and C.
I am first inserting A and B (without any problem), but to insert C as you might have guessed i need the A and B objects ( because relations are maintained by hibernate and if we set an object it will insert its corresponding id's in its many-to-one column)
What i am doing is,
saveOrUpdate(A)
saveOrUpdate(B)
saveOrUpdate(C)
and its giving the following error :
WARN [http-8080-Processor24] (RequestProcessor.java:509 ) - Unhandled Exception thrown: class org.springframework.dao.In validDataA ccessApiUs ageExcepti on
ERROR [http-8080-Processor24] (StandardWrapperValve.java :269) - Servlet.service() for servlet action threw exception
org.springframework.dao.In validDataA ccessApiUs ageExcepti on: object references an unsaved transient instance - save the transient instance before flushing: com.mmi.intouch.model.Phys icalLocati on
at org.springframework.orm.hi bernate.Se ssionFacto ryUtils.co nvertHiber nateAccess Exception( SessionFac toryUtils. java:621)
at org.springframework.orm.hi bernate.Hi bernateTra nsactionMa nager.conv ertHiberna teAccessEx ception(Hi bernateTra nsactionMa nager.java :572)
at org.springframework.orm.hi bernate.Hi bernateTra nsactionMa nager.doCo mmit(Hiber nateTransa ctionManag er.java:48 4)
at org.springframework.transa ction.supp ort.Abstra ctPlatform Transactio nManager.c ommit(Abst ractPlatfo rmTransact ionManager .java:397)
at org.springframework.transa ction.inte rceptor.Tr ansactionA spectSuppo rt.doCommi tTransacti onAfterRet urning(Tra nsactionAs pectSuppor t.java:243 )
at org.springframework.transa ction.inte rceptor.Tr ansactionI nterceptor .invoke(Tr ansactionI nterceptor .java:66)
at org.springframework.aop.fr amework.Re flectiveMe thodInvoca tion.proce ed(Reflect iveMethodI nvocation. java:144)
at org.springframework.aop.fr amework.Jd kDynamicAo pProxy.inv oke(JdkDyn amicAopPro xy.java:17 4)
at $Proxy14.saveIssue(Unknown Source)
at com.mmi.intouch.web.action .IssueDeta ilAction.e xecute(Iss ueDetailAc tion.java: 232)
at org.apache.struts.action.R equestProc essor.proc essActionP erform(Req uestProces sor.java:4 21)
at org.apache.struts.action.R equestProc essor.proc ess(Reques tProcessor .java:226)
at org.apache.struts.action.A ctionServl et.process (ActionSer vlet.java: 1164)
at org.apache.struts.action.A ctionServl et.doPost( ActionServ let.java:4 15)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 709)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 802)
at org.apache.catalina.core.A pplication FilterChai n.internal DoFilter(A pplication FilterChai n.java:252 )
at org.apache.catalina.core.A pplication FilterChai n.doFilter (Applicati onFilterCh ain.java:1 73)
at org.displaytag.filter.Resp onseOverri deFilter.d oFilter(Re sponseOver rideFilter .java:125)
at org.apache.catalina.core.A pplication FilterChai n.internal DoFilter(A pplication FilterChai n.java:202 )
at org.apache.catalina.core.A pplication FilterChai n.doFilter (Applicati onFilterCh ain.java:1 73)
at org.springframework.orm.hi bernate.su pport.Open SessionInV iewFilter. doFilterIn ternal(Ope nSessionIn ViewFilter .java:172)
at org.springframework.web.fi lter.OnceP erRequestF ilter.doFi lter(OnceP erRequestF ilter.java :76)
at org.apache.catalina.core.A pplication FilterChai n.internal DoFilter(A pplication FilterChai n.java:202 )
at org.apache.catalina.core.A pplication FilterChai n.doFilter (Applicati onFilterCh ain.java:1 73)
at org.apache.catalina.core.S tandardWra pperValve. invoke(Sta ndardWrapp erValve.ja va:214)
at org.apache.catalina.core.S tandardCon textValve. invoke(Sta ndardConte xtValve.ja va:178)
at org.apache.catalina.core.S tandardHos tValve.inv oke(Standa rdHostValv e.java:126 )
at org.apache.catalina.valves .ErrorRepo rtValve.in voke(Error ReportValv e.java:105 )
at org.apache.catalina.core.S tandardEng ineValve.i nvoke(Stan dardEngine Valve.java :107)
at org.apache.catalina.connec tor.Coyote Adapter.se rvice(Coyo teAdapter. java:148)
at org.apache.coyote.http11.H ttp11Proce ssor.proce ss(Http11P rocessor.j ava:825)
at org.apache.coyote.http11.H ttp11Proto col$Http11 Connection Handler.pr ocessConne ction(Http 11Protocol .java:738)
at org.apache.tomcat.util.net .PoolTcpEn dpoint.pro cessSocket (PoolTcpEn dpoint.jav a:526)
at org.apache.tomcat.util.net .LeaderFol lowerWorke rThread.ru nIt(Leader FollowerWo rkerThread .java:80)
at org.apache.tomcat.util.thr eads.Threa dPool$Cont rolRunnabl e.run(Thre adPool.jav a:684)
at java.lang.Thread.run(Unkno wn Source)
Help please.....
The situation,
I have three objects A,B,C relations are (A->C one to many) and (B->C one to many)
Situation, i have only one form to insert all the three..... A,B, and C.
I am first inserting A and B (without any problem), but to insert C as you might have guessed i need the A and B objects ( because relations are maintained by hibernate and if we set an object it will insert its corresponding id's in its many-to-one column)
What i am doing is,
saveOrUpdate(A)
saveOrUpdate(B)
saveOrUpdate(C)
and its giving the following error :
WARN [http-8080-Processor24] (RequestProcessor.java:509
ERROR [http-8080-Processor24] (StandardWrapperValve.java
org.springframework.dao.In
at org.springframework.orm.hi
at org.springframework.orm.hi
at org.springframework.orm.hi
at org.springframework.transa
at org.springframework.transa
at org.springframework.transa
at org.springframework.aop.fr
at org.springframework.aop.fr
at $Proxy14.saveIssue(Unknown
at com.mmi.intouch.web.action
at org.apache.struts.action.R
at org.apache.struts.action.R
at org.apache.struts.action.A
at org.apache.struts.action.A
at javax.servlet.http.HttpSer
at javax.servlet.http.HttpSer
at org.apache.catalina.core.A
at org.apache.catalina.core.A
at org.displaytag.filter.Resp
at org.apache.catalina.core.A
at org.apache.catalina.core.A
at org.springframework.orm.hi
at org.springframework.web.fi
at org.apache.catalina.core.A
at org.apache.catalina.core.A
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.valves
at org.apache.catalina.core.S
at org.apache.catalina.connec
at org.apache.coyote.http11.H
at org.apache.coyote.http11.H
at org.apache.tomcat.util.net
at org.apache.tomcat.util.net
at org.apache.tomcat.util.thr
at java.lang.Thread.run(Unkno
Help please.....
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I used Hibernate component and included everything in one object.
ASKER
well, not everything, but say., moved B to C then used another page to edit A.... totally seperated everything, instead of tying them together.
ASKER
I am actually doing a saveOrUpdate(C) and the above error is caused.
I did not save the A and B Objects
When i am saving A and B and then saving C , its saying hibernate session not synchronized with database !!
thanks.