3回目の更新で述べたように、JPAはシーケンスから「50個のIDをフェッチ」し、効率を上げるためにメモリ内でそれらをカウントしていました。
この動作は、javax.persistence.SequenceGenerator.allocationSize
によって指定されます。 デフォルトは50です。
これは私にはまったく直感的ではありません。
手っ取り早い解決策は、allocationSize=1
を指定することでした。 :
@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
allocationSize = 1)
これで、Oracleシーケンスは挿入ごとにインクリメントされます。