sql >> Databasteknik >  >> RDS >> Oracle

Vilolägessekvens nextVal löst men användes inte (Oracle)

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.




  1. Förstå kartesiska produkter i SQL

  2. Hur jämför man ett värde med ett csv-värde i mysql?

  3. Oracle SQL:Hur returnerar flera distinkta kolumner

  4. WHERE-satsen körs bättre före IN och JOIN eller efter