我需要从尚未处理的表中返回一个项id (在给定的时间内,可以有多个可用项,但我需要在每个请求中返回唯一的id )。
上面的场景抛出一个异常,说明“无效使用锁”(因为它不支持本机查询,只支持crud操作)。
需要帮助使用PESSIMISTIC_READ使用本机查询选择更新和跳过锁定的行在竞赛条件下。
发布于 2017-10-07 18:08:36
通过在查询中添加以下行解决了这个问题。
的更新跳过锁定。
@Query(value = "SELECT id FROM item WHERE name->> 'name'=:name AND city->> 'city'=:city LIMIT 1 FOR UPDATE SKIP LOCKED",nativeQuery = true)
public String find(@Param("name") String name, @Param("city") String city);https://stackoverflow.com/questions/46591318
复制相似问题