Deze annotaties creëren geen twee reeksen, slechts één. Is dit correct/verwacht?
Dat is het verwachte gedrag. Bij gebruik van @GeneratedValue(strategy = GenerationType.AUTO)
, zal de PPV-provider een geschikte strategie kiezen voor de specifieke database. In het geval van Oracle is dit SEQUENCE en aangezien u niets hebt opgegeven, gebruikt Hibernate een enkele globale reeks genaamd hibernate_sequence
.
Is dit correct? Nou, ik weet het niet, het hangt af van je behoeften. Voor het geval dat de standaard maximale waarde voor een Oracle-reeks 1E+27 is, ofwel 1.000.000.000.000.000.000.000.000. Dat is genoeg voor velen.
Nu is het mogelijk om GenerationType.AUTO
. te gebruiken en controleer nog steeds de naam van de reeks wanneer de database reeksen gebruikt:
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
private Long id;