2010-05-25 400 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

不,你必须手动为你的更新查询添加乐观锁定行为。