【发布时间】:2014-12-12 07:55:51
【问题描述】:
我有一个要求,我需要锁定表的行以供其他事务读取。 方法, 如果事务 1 读取表 1 的少量记录。事务 2 不应读取这些行
我有以下环境 1. MySQL 2.Jboss 5.1 3. JPA 1.0
请告诉我你的建议
我正在使用本机查询选择进行更新 查询 createNativeQuery = entityManager.createNativeQuery("select id from cscache where id = ? for update ");
但它给出了以下错误
2014-12-12 09:35:42,326 错误 [org.hibernate.util.JDBCExceptionReporter] 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“限制 2”附近使用正确的语法 (http-0.0.0.0-8543-5:)
【问题讨论】:
-
对于 JPA 1.0,仅支持 2 种锁定模式,
optimistic read/ optimistic write,这两种模式允许任何事务读取和更新实体。它只会在事务提交时检查。