首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate乐观的locking..how它工作吗?

Hibernate乐观的locking..how它工作吗?
EN

Stack Overflow用户
提问于 2010-07-27 20:13:49
回答 1查看 2.3K关注 0票数 8

我读了下面关于hibernate乐观锁定的博客。我计划在hibernate中使用它。但是我有一个顾虑。我们有java代码和c++代码,它们都连接到一个数据库。虽然,java代码可以使用hibernate来实现乐观锁定,但我想让c++代码做同样的事情。另外,c++代码使用的是一些遗留代码。

http://turgaykivrak.wordpress.com/2009/05/16/72/

是否有说明hibernate如何实现乐观锁定的文档?

如有任何建议,敬请见谅。

谢谢

巴拉

EN

回答 1

Stack Overflow用户

发布于 2010-07-27 20:48:38

准确地说,您不是指乐观锁定,而是乐观并发(没有锁)。在版本中使用时间戳只是为了支持遗留数据库,因为现代数据库(至少在理论上)比存储时间戳的准确性更快。

使用整数版本属性非常简单:

  • On insert:在update和delete上将版本设置为1
  • :增加版本1并将"where version=@version“附加到每个sql语句中。返回已更改的记录数。当更改的记录数量与预期不同时抛出一个StaleObjectStateException。

就我个人而言,我不会在非遗留的情况下创建两个单独的应用程序来编写相同的数据,因为这意味着业务逻辑必须被复制,而更改必须应用于两个应用程序,而且当更改只与其中一个应用程序相关时。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3347546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档