PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

JPA 2 @SequenceGenerator @GeneratedValue produisant une violation de contrainte unique

  1. Oui, votre analyse est correcte. Vous avez correctement identifié le problème (nous avons eu un problème similaire). Et... si vous allez mettre ça en production, n'oubliez pas :

    • soit générer manuellement la table de séquence pour le nouveau générateur de séquence AVEC la bonne valeur initiale/ID initial (sinon l'hibernation commencera à partir de 1 et vous obtiendrez à nouveau )
    • ou définissez cette valeur dans Code (vérifiez initalValue dans @SequenceGenerator ).
  2. Je ne suis pas en mesure d'énumérer les meilleures pratiques, mais je suppose que vous pourriez abaisser la limite de 50. De plus, je n'ai pas d'expérience avec PostgreSQL, mais dans MySQL, vous avez une table simple pour le seq. le générateur et l'hibernation font tout.