gpt4 book ai didi

java - JPQL/HSQL 更新有限制吗?

转载 作者:行者123 更新时间:2023-12-04 06:26:59 24 4
gpt4 key购买 nike

我想将类似@Version 的列更新为应用程序管理的悲观锁。

这些是我想采取的步骤:

  • 获取序列的下一个编号
  • 选择前 50 条记录并使用序列号更新类似 @version 的列。
  • 现在选择回匹配该序列的那 50 条记录。

  • 如何编写 JPQL 或 HSQL 查询来更新列但将自身限制为固定数量的记录?

    最佳答案

    一个不能。事实上,除非碰巧使用支持 update ... limit X 的 RDBMS,否则也不能在 SQL 中编写这样的查询。符号 - 并非所有 RDBMS 都这样做。

    可能的解决方法是:

  • 选择前 50 条记录(您可以在此处使用 limit 或者更确切地说是 setMaxResults())并一一更新它们 - 当然是在同一个事务中。
  • 选择第 50 条记录的 PK(同时使用 setMaxResults()setFirstResult())并使用 entity.pk <= :pk 执行批量更新健康)状况。这假设您可以通过 PK 对选择查询进行排序。
  • 关于java - JPQL/HSQL 更新有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5927746/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com