在项目中,我在Hibernate和Spring jdbctemplate中混合使用。我添加了乐观锁定。 Hibernate可以很好地与版本控制配合使用,但是现在我必须将所有这些jdbctemplate代码统一起来才能使用版本控制。

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

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


我可以的地方:


将version = version + 1附加到columnSql
附加版本=?到whereSql
添加版本号以在参数内正确放置(单独的参数强制传递该值)
检查是否正好更新了一项,否则抛出StaleObjectStateException


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

最佳答案

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

10-05 23:08