JPA-返回更新的列

时间:2019-03-12 16:13:59

标签: sql spring spring-boot jpa

我会说这是一个非常普遍的用例。在表中提供一些数据和一个作业(可能还有多个并行运行的作业),该作业正在获取尚未处理的数据。为了实现这一点,应该发生以下情况:

  • 读取具有给定状态(例如is_processed = false)的行
  • 锁定行(只要它们尚未更新),以避免并行处理同一数据(例如,设置is_processed = true
  • 对锁定的数据进行处理
  • 更新处理后的数据(例如,设置processed = true

使用Postgres锁定是一个非常简单的SQL命令:

update <columen> set <key> = <value> returning *;

我想对JPA做完全一样的事情,但是我不知道如何实现。 万一重要,我可以运行一个Spring Boot应用程序。

0 个答案:

没有答案