I am trying to update and insert the object using hibernate.I am getting exception.most of the time i am getting the exception shown below.But some time its working perfectly.
Code:
Hibernate: select cardselect_.empid, cardselect_.firstname as firstname9_, cards
elect_.middlename as middlename9_, cardselect_.lastname as lastname9_, cardselec
t_.streetaddress as streetad5_9_, cardselect_.address as address9_, cardselect_.
city as city9_, cardselect_.state as state9_, cardselect_.country as country9_,
cardselect_.zipcode as zipcode9_, cardselect_.cardName as cardName9_ from cardde
tail_english cardselect_ where cardselect_.empid=?
Hibernate: insert into carddetail_english (firstname, middlename, lastname, stre
etaddress, address, city, state, country, zipcode, cardName, empid) values (?, ?
, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: update carddetail_arabic set firstname=?, middlename=?, lastname=?, s
treetaddress=?, address=?, city=?, state=?, country=?, zipcode=? where empid=?
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updat
e
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException
(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.j
ava:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelp
er.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
253)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.j
ava:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.j
ava:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatc
her.java:222)
at org.hibernate.persister.entity.AbstractEntityPersister.update(Abstrac
tEntityPersister.java:2359)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert
(AbstractEntityPersister.java:2312)
at org.hibernate.persister.entity.AbstractEntityPersister.update(Abstrac
tEntityPersister.java:2612)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.ja
va:96)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutio
ns(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlus
hEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java
:106)
at com.Util.java.ConnectionDB.insertCard(Unknown Source)
at com.struts.action.InsertDetailAction.Finish(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActio
n.java:276)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:
196)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:191
3)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: Lock wait timeout exceeded; try restar
ting transaction
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStateme
nt.java:1666)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:
1082)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.jav
a:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
246)
... 43 more
Hibernate: update carddetail_arabic set firstname=?, middlename=?, lastname=?, s
treetaddress=?, address=?, city=?, state=?, country=?, zipcode=? where empid=?
&&&&&&&&&&&HIBERNATE EXCEPTION&&&&&&&&&&&&&&&&&&&&
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updat
e
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException
(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.j
ava:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelp
er.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
253)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.j
ava:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.j
ava:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatc
her.java:222)
at org.hibernate.persister.entity.AbstractEntityPersister.update(Abstrac
tEntityPersister.java:2359)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert
(AbstractEntityPersister.java:2312)
at org.hibernate.persister.entity.AbstractEntityPersister.update(Abstrac
tEntityPersister.java:2612)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.ja
va:96)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutio
ns(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlus
hEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at com.Util.java.ConnectionDB.insertCard(Unknown Source)
at com.struts.action.InsertDetailAction.Finish(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActio
n.java:276)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:
196)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:191
3)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.BatchUpdateException: Lock wait timeout exceeded; try restar
ting transaction
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStateme
nt.java:1666)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:
1082)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.jav
a:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:
246)
... 41 more
hbm files used are shown below.
carddetails.hbm.xml
Code:
<hibernate-mapping>
<class name="com.struts.frombeans.CardSelectForm" table="carddetail_english">
<id name="empId" column="empid" >
<generator class="assigned"/>
</id>
<property name="firstnameEn">
<column name="firstname" />
</property>
<property name="middlenameEn">
<column name="middlename"/>
</property>
<property name="lastnameEn">
<column name="lastname"/>
</property>
<property name="streetaddressEn">
<column name="streetaddress" />
</property>
<property name="addressEn">
<column name="address"/>
</property>
<property name="cityEn">
<column name="city"/>
</property>
<property name="stateEn">
<column name="state" />
</property>
<property name="countryEn">
<column name="country"/>
</property>
<property name="zipcodeEn">
<column name="zipcode"/>
</property>
<property name="cardName">
<column name="cardName" />
</property>
<one-to-one name="arabicDetail" class="com.struts.frombeans.ArabicDetailForm" cascade="all"/>
<one-to-one name="companyDetail" class="com.struts.frombeans.CompanyDetailForm" cascade="all"/>
</class>
</hibernate-mapping>
arabicdetail.hbm.xml
Code:
<hibernate-mapping>
<class name="com.struts.frombeans.ArabicDetailForm" table="carddetail_arabic">
<id name="empId" column="empid" >
<generator class="foreign">
<param name="property">cardSelectForm</param>
</generator>
</id>
<property name="firstnameAr" column="firstname"/>
<property name="middlenameAr" column="middlename"/>
<property name="lastnameAr" column="lastname"/>
<property name="streetaddressAr" column="streetaddress"/>
<property name="addressAr" column="address"/>
<property name="cityAr" column="city"/>
<property name="stateAr" column="state"/>
<property name="countryAr" column="country"/>
<property name="zipcodeAr" column="zipcode"/>
<one-to-one name="cardSelectForm" class="com.struts.frombeans.CardSelectForm" constrained="true"/>
</class>
</hibernate-mapping>
companydetail.hbm.xml
Code:
<hibernate-mapping>
<class name="com.struts.frombeans.CompanyDetailForm" table="companydetail">
<id name="empId" column="empid">
<generator class="foreign">
<param name="property">CardSelectForm</param>
</generator>
</id>
<property name="jobtitle" column="jobtitle"/>
<property name="phonenumber" column="phone"/>
<property name="faxnumber" column="fax"/>
<property name="department" column="department"/>
<property name="email" column="email"/>
<property name="costcenter" column="costcenter"/>
<property name="cordinatorname" column="cordinatorid"/>
<property name="managername" column="managerid"/>
<property name="noofcards" column="noofcards"/>
<one-to-one name="CardSelectForm" class="com.struts.frombeans.CardSelectForm" constrained="true"/>
</class>
</hibernate-mapping>
code used t insert
Code:
try {
System.out.println("_________________________________");
Transaction tx=session.beginTransaction();
session.saveOrUpdate(cardOrder);
tx.commit();
System.out.println("Insertion Success");
System.out.println("__________________________________");
} catch (HibernateException e) {
e.printStackTrace();
}finally{
session.flush();
session.close();
}
Please help me to solve this.Thanks in advance...