Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sequência de hibernação nextVal resolvida, mas não usada (Oracle)


Como mencionei na minha terceira atualização, o JPA estava "buscando 50 ids" da sequência antecipadamente e contando-os na memória para eficiência.

Esse comportamento é especificado por javax.persistence.SequenceGenerator.allocationSize cujo padrão é 50.

Isso não é nada intuitivo para mim, ou outros , já que minha sequência de banco de dados Oracle deve definir esse comportamento e 50 não é um padrão padrão lá.

A solução rápida e suja foi especificar allocationSize=1 :
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
                   allocationSize = 1)

Agora a sequência Oracle é incrementada para cada inserção.