Hibernate 6.2 策略已弃用(策略 =“增强序列”)

问题描述 投票:0回答:1

hibernate 6.2 贬低了“策略”。 在我们当前的代码库中,我们正在使用

@GenericGenerator(
        name = "sequenceGenerator",
        strategy = "enhanced-sequence",
        parameters = {
            @org.hibernate.annotations.Parameter(
                name = "optimizer",
                value = "pooled-lo"
            ),
            @org.hibernate.annotations.Parameter(
                name = "initial_value",
                value = "1"
            ),
            @org.hibernate.annotations.Parameter(
                name = "increment_size",
                value = "5"
            )
        }
    )

但我不知道如何用新方法取代它。

此外,在一些建议使用的微妙文档中 ->

 @SequenceGenerator(
name = "sequenceGenerator", 
sequenceName = "custom_sequaence_name", 
initialValue = 1, 
allocationSize = 5)
java hibernate jpa
1个回答
0
投票

增强序列对应的类是SequenceStyleGenerator.class 所以应该替换为

type = SequenceStyleGenerator.class

@GenericGenerator(
        name = "sequenceGenerator",
        type = SequenceStyleGenerator.class ,
        parameters = {
            @org.hibernate.annotations.Parameter(
                name = "optimizer",
                value = "pooled-lo"
            ),
            @org.hibernate.annotations.Parameter(
                name = "initial_value",
                value = "1"
            ),
            @org.hibernate.annotations.Parameter(
                name = "increment_size",
                value = "5"
            )
        }
    )

https://github.com/manuelbernhardt/hibernate-core/blob/7e42b464442d0535d2d1dbb7dc501c8064825d54/hibernate-core/src/main/java/org/hibernate/id/factory/DefaultIdentifierGeneratorFactory.java#L82

© www.soinside.com 2019 - 2024. All rights reserved.