簡體   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