jdbctemplate和乐观锁定

时间:2010-05-25 12:49:48

标签: java spring jdbctemplate optimistic-locking

在项目中,我在Hibernate和Spring中,jdbctemplate是混合的。我添加了乐观锁定。 Hibernate在版本控制方面效果很好,但现在我必须将所有这些jdbctemplate代码转换为使用版本控制。

是否有类似LockingJdbcTemplate的东西(比如SimpleJdbcTemplate)?我在想我可以实现一个通用的更新方法


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

我可以:

  • 将版本=版本+ 1附加到columnSql
  • 追加版本=? to whereSql
  • 在params中添加版本号以更正位置(单独的param强制传递该值)
  • 检查确切的1项是否已更新,否则抛出StaleObjectStateException

是否有任何库可以包装jdbctemplate并为我做类似的事情?不想发明存在的东西...... :)

1 个答案:

答案 0 :(得分:0)

不,您必须手动将乐观锁定行为添加到更新查询中。