在我的项目中,Hibernate和Spring jdbctemplate混用。我添加了乐观锁定。Hibernate与版本控制非常配合,但现在我必须将所有这些jdbctemplate代码转换为使用版本控制。
是否有类似于LockingJdbcTemplate(如SimpleJdbcTemplate)的东西?我想我可以实现一个通用的更新方法:
是否有类似于LockingJdbcTemplate(如SimpleJdbcTemplate)的东西?我想我可以实现一个通用的更新方法:
update(String tableName, String columnsSql, String whereSql, Long version, Object... params)
在这个方法中,我可以:
- 将version=version+1附加到columnSql上
- 将version=?附加到whereSql上
- 在参数中添加版本号,将其放入正确的位置(强制传递该值的单独参数)
- 检查是否只更新了一个项,否则抛出StaleObjectStateException异常