Ich kann nicht herausfinden, wie der Anfangswert für die @GenerateValue
@Id
festgelegt wird.Wie wird der Anfangswert für @Id @GeneratedValue in Spring JPA für MySQL festgelegt?
Ich habe versucht mit GenerationType.SEQUENCE
, aber das ist nicht erlaubt in MySQL
. Wie kann ich den Anfangswert für die @GenerateValue
festlegen?
Mit beiden AUTO
und TABLE
Ich kann immer noch nicht den Anfangswert bekommen, etwas zu beginnen, aber 1
Danke
-Code mit 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() {
}
}
Code-Tabelle mit
@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() {
}
}
** UPDATE **
Das Problem wurde im Zusammenhang mit nicht hibernate.id.new_generator_mappings = true;
https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/ch01.html
Application.properties für Sring Boot:
spring.jpa.properties.hibernate.id.new_generator_mappings=true
, wenn Sie Setup db selbst, können Sie es in Ihrer MySQL-Datenbank tun könnte, wenn es nicht mit JPA/ORM generiert wird, es ist nur Mapping, ohne tatsächlich Erstellen von db. – Sarief
Ich habe versucht mit dem Tabellengenerator auf der MySQL-Datenbank und es funktioniert perfekt. Aber ich habe den Frühling nicht benutzt. – ujulu