Bonjour,
J'ai l'exception suivante qui est déclenchée de temps en temps
L'exception est declenche quand j'essaye de commiter les modifications effectuees.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61) at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46) at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:68) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168) 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 org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106) at com.ulnet.memberarea.dao.OrderBook.DaoOrderBookImpl.updateTblTrade(DaoOrderBookImpl.java:905) at com.ulnet.memberarea.service.OrderBook.ServiceOrderBookImpl.updateTblTrade(ServiceOrderBookImpl.java:450) at com.ulnet.memberarea.OdiSysConnection.MonitoringLoader.updateTradeList(MonitoringLoader.java:1595) at com.ulnet.memberarea.OdiSysConnection.MonitoringLoader.run(MonitoringLoader.java:523)
L'exception est donc déclenchè au niveau de cette fonction :
ici http://www.hibernate.org/hib_docs/v3...Exception.html ils disent quand ça arrive, mais pas comment y remédier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public void updateTblTrade(Trade trade) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { session.beginTransaction(); Tbltrade t = generateTbltrade(trade); if ( !isExist(t, session) ) { session.save(t); System.out.println("[Tbltrade Save]"); } else { session.merge(t); System.out.println("[Tbtrade Merge]"); } session.getTransaction().commit(); } catch(Exception e) { session.beginTransaction().rollback(); e.printStackTrace(); } }
Qlq'un à déjà eu le même problème.
Merci
Partager