sql >> Base de Datos >  >> RDS >> Oracle

Secuencia de Hibernate nextVal resuelta pero no utilizada (Oracle)

Como mencioné en mi tercera actualización, JPA estaba "obteniendo 50 ID" de la secuencia por adelantado y contándolos en la memoria para mayor eficiencia.

Este comportamiento está especificado por javax.persistence.SequenceGenerator.allocationSize que por defecto es 50.

Esto no es nada intuitivo para mí, u otros , ya que se supone que mi secuencia de base de datos de Oracle define este comportamiento y 50 no es un valor predeterminado estándar allí.

La solución rápida y sucia fue especificar allocationSize=1 :

@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
                   allocationSize = 1)

Ahora la secuencia de Oracle se incrementa para cada inserción.