3

私が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 をラップして、私に似たようなことをするライブラリはありますか? 存在するものを発明したくありません... :)

4

1 に答える 1

0

いいえ、オプティミスティック ロック動作を更新クエリに手動で追加する必要があります。

于 2011-06-25T23:18:40.423 に答える