by Guest » 13 Jan 2025, 17:29
Code: Select all
public class Base {
public static final String ID = "id";
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_gen")
@SequenceGenerator(name = "id_gen", initialValue = 1, allocationSize = 1)
@Column(updatable = false, nullable = false)
private Long id;
}
@Entity("orders")
public class Order extends Base {}
@Entity("products")
public class Product extends Base {}
Ich möchte separate Sequenznamen für Produkt und Bestellung. Wie soll ich das mit JPA @SequenceGenerator machen und nicht mit Hibernate-Klassen?
Siehe:
https://jakarta.ee/pecifications/persis ... egenerator< /p>
Vorhandener Code war so und funktionierte einwandfrei, aber er nutzte die Hibernate-Implementierung und war veraltet
Code: Select all
- @GenericGenerator(name = "id_gen", type = org.hibernate.id.enhanced.SequenceStyleGenerator.class,
- parameters = { @Parameter(name = SequenceStyleGenerator.CONFIG_SEQUENCE_PER_ENTITY_SUFFIX, value = "_seq"),
- @Parameter(name = SequenceStyleGenerator.INITIAL_PARAM, value = "1"),
- @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1") })
+ @SequenceGenerator(name = "id_gen", sequenceName = "entity_seq", initialValue = 1, allocationSize = 1)
[code]public class Base {
public static final String ID = "id";
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_gen")
@SequenceGenerator(name = "id_gen", initialValue = 1, allocationSize = 1)
@Column(updatable = false, nullable = false)
private Long id;
}
@Entity("orders")
public class Order extends Base {}
@Entity("products")
public class Product extends Base {}
[/code]
Ich möchte separate Sequenznamen für Produkt und Bestellung. Wie soll ich das mit JPA @SequenceGenerator machen und nicht mit Hibernate-Klassen?
Siehe: https://jakarta.ee/pecifications/persistence/2.2/apidocs/javax/persistence/sequencegenerator< /p>
Vorhandener Code war so und funktionierte einwandfrei, aber er nutzte die Hibernate-Implementierung und war veraltet
[code]- @GenericGenerator(name = "id_gen", type = org.hibernate.id.enhanced.SequenceStyleGenerator.class,
- parameters = { @Parameter(name = SequenceStyleGenerator.CONFIG_SEQUENCE_PER_ENTITY_SUFFIX, value = "_seq"),
- @Parameter(name = SequenceStyleGenerator.INITIAL_PARAM, value = "1"),
- @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1") })
+ @SequenceGenerator(name = "id_gen", sequenceName = "entity_seq", initialValue = 1, allocationSize = 1)
[/code]