HibernateとSpringFrameworkをしようしてシステムを構築していたのですが、突如(実際はそうではないが)として、オブジェクトの更新時に以下のような例外が発生するようになってしまいました。。

331500 [http8080-Processor3] ERROR impl.SessionImpl  - Could not synchronize database state with session
net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for jp.co.hoge instance with identifier: A0400007-01U
	at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:506)
	at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:695)
	at net.sf.hibernate.persister.NormalizedEntityPersister.update(NormalizedEntityPersister.java:670)
	at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2372)
	at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
	at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
	at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:463)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:373)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:242)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:66)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)

「Row was updated or deleted by another transaction」とのことですが、実際そんな処理はしていなかったのでかなり困りました。。やはり中の動作を完全に把握していない状態で使っていると、こういうときに困ってしまいます。。

結局、DBの方で設定していたトリガーが原因だったようなのですが、なぜHibernateの動作にまで影響したのかいまだに理解できていません。。他にもトリガーは存在していて違いと言えば、スキーまでのinsertとupdateが"true"か"false"かの違いなのですが。。あとsubclassで継承関係をマッピングしているのも何か関連があるのだろうか??