如何在 Spring JPA for MySQL 中为 @Id @GeneratedValue 设置初始值?

ALM*_*ALM 5 java mysql spring jpa spring-data-jpa

我不知道如何设置@GenerateValue @Id.

我试过使用,GenerationType.SEQUENCE但在MySQL. 如何设置要用于的初始值@GenerateValue

使用两者AUTOTABLE我仍然无法获得初始值,但是1

谢谢

使用 AUTO 的代码

@Entity
@Data
@SequenceGenerator(name = "port_gen", sequenceName = "port_gen",  initialValue = 4700)
public class AppiumPort {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "port_gen")
    private Long port;

    public AppiumPort() {

    }
}
Run Code Online (Sandbox Code Playgroud)

使用 TABLE 的代码

    @Entity
    @Data
    public class AppiumPort {

    @TableGenerator(name = "Address_Gen", table = "ID_GEN", pkColumnName = "GEN_NAME", valueColumnName = "GEN_VAL", pkColumnValue = "Addr_Gen", initialValue = 10000, allocationSize = 100)
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "Address_Gen")
    private int port;

    public AppiumPort() {

    }
}
Run Code Online (Sandbox Code Playgroud)

** 更新 **

该问题与未设置 hibernate.id.new_generator_mappings=true; 有关。

https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/ch01.html

Sring Boot 的 Application.properties:

spring.jpa.properties.hibernate.id.new_generator_mappings=true
Run Code Online (Sandbox Code Playgroud)