Dalla fine manuale :
Suggeriscono AUTO per la massima portabilità:
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue
*/
Questo dovrebbe creare e collegare una sequenza per te. Un'alternativa sarebbe chiedere un serial colonna utilizzando il IDENTITY strategia:
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="IDENTITY")
*/
Questo dovrebbe creare il tuo id colonna come tipo serial e PostgreSQL creerà la sequenza e imposterà il valore predefinito per te.
La documentazione indica che ciò che stai facendo dovrebbe funzionare, ma di solito la documentazione fornisce solo una versione semplificata della realtà.
Prova a utilizzare strategy="AUTO" . Se non funziona, prova strategy="IDENTITY" .