J'ai un code utilisant JPA avec Hibernate 3.3.x. Ce code Java peut être utilisé avec les schémas stockés sur Oracle 10g ou MySQL 5.1.x. Les tables sont définies avec des contraintes pour définir des enregistrements uniques. Lorsqu'une violation de contrainte se produit, je souhaite récupérer le nom de contrainte de l'exception.Hibernate: constraintName est null dans MySQL
Avec Oracle, le nom de la contrainte est correctement récupéré. Avec MySQL, le nom de la contrainte est NULL.
Une idée pour obtenir le nom de la contrainte avec MySQL?
Merci
Ces
Oui, j'ai mis un nom comme illustré ci-dessous. ALTER TABLE MY_TABLE AJOUTER CONSTRAINT MY_CONSTRAINT UNIQUE (Col1, Col2, Col3); J'ai un script DDL pour créer le schéma de base de données pour MySQL et Oracle 10g. Les contraintes sont définies de la même manière dans les scripts DDL. Lorsque j'ai débogué mon application, j'ai vu que dans Oracle, le nom de la contrainte était celui attendu (MY_Constraint basd sur mon illustration). Lorsque je change l'unité de persistance pour activer MySQL, je reçois NULL comme nom de contrainte. – eloudsa
avez-vous essayé de jeter un oeil aux noms de contraintes de votre base de données MySQL en utilisant un client SQL pour voir s'ils sont affichés ou non? –