Jak jsem zmínil ve své 3. aktualizaci, JPA „natahoval 50 id“ ze sekvence dopředu a počítal je v paměti pro efektivitu.
Toto chování je specifikováno parametrem javax.persistence.SequenceGenerator.allocationSize
výchozí hodnota je 50.
Pro mě, a ostatní to není vůbec intuitivní , protože moje sekvence databáze Oracle má definovat toto chování a 50 tam není standardní výchozí nastavení.
Rychlým a špinavým řešením bylo zadat allocationSize=1
:
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
allocationSize = 1)
Nyní je sekvence Oracle inkrementována pro každý insert.