2010-05-25 138 views
3

在項目中,我在Hibernate和Spring jdbctemplate混合使用。我加入了樂觀鎖定。 Hibernate在版本控制方面效果很好,但現在我必須對所有這個jdbctemplate代碼進行轉換以使用版本控制。jdbctemplate和樂觀鎖定

是否有像LockingJdbcTemplate(如SimpleJdbcTemplate)?我想我可以實現一個通用的更新方法

 

update(String tableName, String columnsSql, String whereSql, Long version, Object... params) 
 

在那裏我可以:

  • 追加版本=版本+ 1 columnSql
  • 追加版本=?到whereSql
  • 添加版本號來糾正PARAMS內進行(獨立參數是迫使通過該值)
  • 檢查正好1個項目進行了更新,並拋出StaleObjectStateException否則

有沒有想包任何庫jdbctemplate併爲我做類似的事情?不想發明存在的東西... :)

回答

0

不,你必須手動爲你的更新查詢添加樂觀鎖定行爲。