

JPA（EclipseLink）を使っています。  
「画面を開いてから更新操作をするまでに、他のユーザによってデータが変更されていた場合に、エラーとしてデータを再読込する」という仕様があり、そのために`@Version`アノテーションによる楽観的ロックを利用しています。  
その仕様の対象となるデータは、バージョン値を画面側まで持っていき、更新操作時に再びサーバに送りつけているわけです。

ただ、そのデータはバッチ処理でも更新されます。  
バッチ処理側ではOptimisticLockExceptionを起こすことなく、問答無用で更新できるようにしたいです。  
しかし、エンティティに`@Version`アノテーションをつけてしまうと、常に楽観ロック制御されてしまいます。

【質問】  
`@Version`を使用した上で、楽観ロック制御するかどうかを動的に切り替える方法はありますか？  
トランザクション単位で指定できれば、バッチ処理で実行するトランザクションでは楽観ロックをOFFにする、みたいに実装できるので、理想的です。

【環境】  
Wildfly 10  
Java 8


CC BY-SA 4.0
2019-07-04T07:29:01.513
56376
2019-07-04T07:29:01.513
8078
question
java java-ee jpa
楽観ロック制御の有無を動的に切り替えたい