0

我正在实施一个系统,我在其中区分SELECT ...SELECT ... FOR UPDATE

SELECT ...则用于读取允许处于“不正确”状态的实体(不正确 = 可能稍后更新)

SELECT ... FOR UPDATE总是用于读取目标以编辑它的对象,因此它应该返回对象的正确状态。

现在我正在尝试执行以下操作:每当语句读取对象时SELECT ... FOR UPDATE,将其他查询锁定SELECT ... FOR UPDATE在同一对象上。但是,常规SELECT ...应该仍然有效。

有没有办法只使用预定义的锁来做到这一点?我查看了数据库隔离级别,但我认为它们不是我的问题的一部分。

我正在使用 java、hibernate 和 sql 数据库。

4

1 回答 1

0

选择更新不会在 MySQL 中锁定。它在 Oracle、Postgres、MS SQL 中工作。

于 2012-08-09T07:04:56.000 回答