Java 如何在Spring JPA for MySQL中设置@Id@GeneratedValue的初始值?
我不知道如何设置Java 如何在Spring JPA for MySQL中设置@Id@GeneratedValue的初始值?,java,mysql,spring,jpa,spring-data-jpa,Java,Mysql,Spring,Jpa,Spring Data Jpa,我不知道如何设置@GenerateValue@Id的初始值 我尝试过使用GenerationType.SEQUENCE,但在MySQL中不允许这样做。如何设置要用于@GenerateValue的初始值 同时使用AUTO和TABLE我仍然无法获得初始值,只能从1 多谢各位 使用自动编码 @Entity @Data @SequenceGenerator(name = "port_gen", sequenceName = "port_gen", initialValue = 4700) public
@GenerateValue
@Id
的初始值
我尝试过使用GenerationType.SEQUENCE
,但在MySQL
中不允许这样做。如何设置要用于@GenerateValue
的初始值
同时使用AUTO
和TABLE
我仍然无法获得初始值,只能从1
多谢各位
使用自动编码
@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() {
}
}
使用表格编码
@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() {
}
}
**更新**
该问题与未设置hibernate.id.new_generator_mappings=true有关
Sring引导的Application.properties:
spring.jpa.properties.hibernate.id.new_generator_mappings=true
您可以尝试使用@TableGenerator(JPA有一个@TableGenerator注释,您可以在其中设置初始值)。initialValue可用于为值设定种子
这里的示例:检查上面的内容,我也尝试了TABLE,但没有成功。它从1开始,即使我设置了初始值。在这种情况下,这是您的JPA提供程序中的一个错误,因此您应该告诉他们关于它的信息如果您自己设置db,您可以在您的mysql数据库中执行,如果它不是用JPA/orm生成的,它只是映射,我在MySQL数据库上尝试了表生成器,它工作得非常好。但我还没用过弹簧。