我有一张表格,其中包含整数列,每一列本质上都是一个序列。每一行代表一个客户账户及其相关的序列。
我正在尝试找到一种有效的方法来通过变量来更新特定序列的值,并在一个HQL查询中检索更新后的值。我正在使用Hibernate 3.6.1和Spring 3.0.5。数据库是Postgres。
我可以使用原生SQL查询来实现我的目标,如下所示:
我正在尝试找到一种有效的方法来通过变量来更新特定序列的值,并在一个HQL查询中检索更新后的值。我正在使用Hibernate 3.6.1和Spring 3.0.5。数据库是Postgres。
我可以使用原生SQL查询来实现我的目标,如下所示:
update account.sequences set seq1 = seq1 + :seqIncrement where account_id = :accountId returning seq1;
然而,我更喜欢使用现有的实体名称/字段而不是表名。更新名称的地方越少,就越好。
我不使用序列,因为我最终将处理成千上万个它们,并且从来不会真正成为一个直接的递增操作。我计划更新该值以覆盖我需要唯一ID的项目数量。通过在单个语句中执行此操作,我不必担心任何表锁定或并发问题。
那么...有人有更简洁的方法吗?还是我正在过度思考已经可以做到的事情?