問題タブ [java-ee-8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hibernate によってラップされない javax.persistence.OptimisticLockException
@Version (OptimisticLock) を使用して JPA で通常の JEE8 アプリケーションを作成しています。私の DAO は、@Transactional(value = TxType.REQUIRED) でマークされた CDI Bean です。
更新が競合している場合: org.hibernate.StaleObjectStateExceptionはjavax.persistence.OptimisticLockExceptionでラップする必要がありますが、そうではありません。
javax.transaction.RollbackExceptionを受け取りました。原因はorg.hibernate.StaleObjectStateExceptionです。
どうしてそんなことが可能なの?
javax.persistence.OptimisticLockExceptionが予期されていましたか? それはどこにも現れません (すべての例外でチェーンが発生します)。
Wildfly 10 および 14 でテスト済み: hibernate 5.0.10 および 5.3.6
私がやっていることは、子テーブル ActorProperties で Actor を更新することです。Actor は @Version with TimeStamp を持つものです。私はそのようなことをします:
モデルにプロパティに @Version がないため、インクリメントを強制します。
また、私のDAOは次のようになります。