Som jag nämnde i min tredje uppdatering "hämtade JPA 50 id" från sekvensen i förväg och räknade igenom dem i minnet för effektivitet.
Detta beteende specificeras av javax.persistence.SequenceGenerator.allocationSize
som är standard på 50.
Detta är inte alls intuitivt för mig, eller andra , eftersom min Oracle-databassekvens är tänkt att definiera detta beteende och 50 inte är en standardstandard där.
Den snabba och smutsiga lösningen var att ange allocationSize=1
:
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
allocationSize = 1)
Nu ökas Oracle-sekvensen för varje infogning.