繁体   English   中英

Spring Hibernate @GeneratedValue & @SequenceGenerator 在本地查询中没有得到正确的序列

[英]Spring Hibernate @GeneratedValue & @SequenceGenerator didn't get correct sequence as querying by the native query

下面是实体配置:

@Entity
@SequenceGenerator(
    name = "sessionInfoIdSeq",
    sequenceName = "SESSIONINFO_ID_SEQ"
)
public class SessionInfo implements Transformable {
    @Id
    @GeneratedValue(
        strategy = GenerationType.AUTO,
        generator = "sessionInfoIdSeq"
    )
    private Long id;

这意味着在向数据库中插入数据时,将从 SESSIONINFO_ID_SEQ 中获取 id:

select nextval ('SESSIONINFO_ID_SEQ')

但问题是,Spring 启动应用程序 + Hibernate 获得的下一个序列号与我们在 DataGrip 或 DBeaver 中运行本机查询时不同,尽管我已经看到该应用程序使用了与 Datagrip 中使用的相同查询。

Spring boot + 运行时休眠:12749 在 DataGrip 中运行本机查询:12797

我不确定为什么会出现这种情况。 但问题是我如何同步序列号,当应用程序采用新的序列号时,我们可以在 Datagrip 或 DBeaver 上看到相同的内容。

让我知道问题是否存在或不正确。 在此先感谢您的支持。

使用可以使用属性级别的注解如下:

@Id
@GeneratedValue(generator = "sequence-generator")
@GenericGenerator(
  name = "sequence-generator",
  strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
  parameters = {
    @Parameter(name = "sequence_name", value = "SESSIONINFO_ID_SEQ"),
    @Parameter(name = "initial_value", value = "4"),
    @Parameter(name = "increment_size", value = "1")
    }
)
private long id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM