Cela m'est arrivé parce que j'ai ajouté manuellement une entrée à ma base de données avec l'id 0 (zéro). Dans mon cas, EclipseLink "ne pouvait pas" gérer un identifiant avec zéro. J'ai donc ajouté ce qui suit à mon persistence.xml :
<property name="eclipselink.allow-zero-id" value="true"/>
Cette propriété indique EclipseLink pour gérer zéro comme identifiant valide.
[1] http://meetrohan.blogspot.de/ 2011/11/eclipselink-null-primary-key.html