私がHibernateにいるプロジェクトでは、Spring jdbctemplateが混在しています。楽観的ロックを追加しました。Hibernate はバージョン管理でうまく機能しますが、バージョン管理も使用するには、このすべての jdbctemplate コードを変換する必要があります。
LockingJdbcTemplate (SimpleJdbcTemplate など) のようなものはありますか? 一般的な更新メソッドを実装できると考えていました
update(String tableName, String columnsSql, String whereSql, Long version, Object... params)
私ができる場所:
- version=version+1 を columnSql に追加
- バージョンを追加=? whereSqlへ
- パラメータ内の正しい場所にバージョン番号を追加します(別のパラメータがその値を渡すことを強制しています)
- 正確に 1 つのアイテムが更新されたことを確認し、それ以外の場合は StaleObjectStateException をスローします
jdbctemplate をラップして、私に似たようなことをするライブラリはありますか? 存在するものを発明したくありません... :)