【问题标题】:Postgresql: currval() does not have any value if we dont run nextval() in the same session (Not in same trasaction)Postgresql:如果我们不在同一会话中运行 nextval(),则 currval() 没有任何值(不在同一事务中)
【发布时间】:2021-09-07 23:07:44
【问题描述】:

是否有任何替代方法可以获得线程安全的 currval()。 生成线程安全序列的 JPA 锁定可以完成这项工作,但我正在寻找使用 NativeQuery 的解决方案。

【问题讨论】:

    标签: postgresql nativequery


    【解决方案1】:

    这是按设计工作的,请参阅the documentation

    返回nextval 在当前会话中为此序列最近获得的值。

    我不明白这怎么会是线程安全的。您始终可以使用

    查看当前序列值
    SELECT last_value FROM my_seq;
    

    但这是值得怀疑的,因为在您获得查询结果时,该值可能已经过时了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      相关资源
      最近更新 更多