Spring Hibernate @GeneratedValue & @SequenceGenerator 没有获得正确的顺序,因为通过本机查询进行查询



下面是实体配置:

@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中相同的查询。

春季启动+运行时休眠:12749在DataGrip:12797 中运行本机查询

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

请告诉我问题是否存在或不正确。提前感谢您的支持。

Use可以使用如下属性级注释:

@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;

相关内容

最新更新