Come ho detto nel mio terzo aggiornamento, JPA stava "recuperando 50 ID" dalla sequenza in anticipo e contando in memoria per efficienza.
Questo comportamento è specificato da javax.persistence.SequenceGenerator.allocationSize
che per impostazione predefinita è 50.
Questo non è affatto intuitivo per me, o altri , poiché la mia sequenza di database Oracle dovrebbe definire questo comportamento e 50 non è un valore predefinito standard lì.
La soluzione rapida e sporca era specificare allocationSize=1
:
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
allocationSize = 1)
Ora la sequenza Oracle viene incrementata per ogni inserto.