首页 > 解决方案 > 如何在@GenericGenerator 中显式传递模式名称?

问题描述

我正在尝试使用@GeneratedValue 和@GenericGenerator 生成一个自动增量字符串。除了使用我的默认架构外,一切正常。如何通过 @GenericGenerator 使用特定模式

public class PMEntity {
 @Id
    @GeneratedValue (strategy =  GenerationType.SEQUENCE, generator = "PNO_SEQ")
    @GenericGenerator(name = "PNO_SEQ", strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
            parameters = {
                    @org.hibernate.annotations.Parameter(name = "sequence_name",value = "PNO_SEQ"),
                    @org.hibernate.annotations.Parameter(name = "initial_value", value = "1"),
                    @org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
            })
    @Column(name = "CPNO")
    private String plyNumber;
}

标签: javaspringspring-boot

解决方案


您需要在声明之前定义实体模式。前任:

@Table(name = "MY_TABLE_NAME", schema = "MY_SCHEMA")
public class PMEntity {}

推荐阅读