Bonjour,
Je rencontre un problème en voulant passer d'une base MySQL à une base SQLServer. J'ai une propriété Java mappée avec Hibernate en "unique=true" et "nullable=true".
Sous MySQL cela ne pose pas de problème mais sous SQLServer, la contrainte d'unicité générée sur la colonne s'applique également sur les valeurs "null" (à priori ce problème est connu et assumé par SQLServer). Je ne peux donc pas insérer deux lignes avec une valeur "null" pour cette colonne. Cela provoque une régression importante dans mon application.
J'utilise la classe utilitaire SchemaExport de Hibernate pour générer le script de création de mes tables pour les différents types de base (MySQL, SQLServer, Oracle, etc.)
Je voudrais donc savoir s'il est possible de modifier le Dialect que j'utilise pour SQLServer afin de modifier le script SQL généré et ne plus avoir de contrainte d'unicité sur une colonne si celle-ci est "nullable".
Savez-vous comment faire cela svp ?
Merci.








Répondre avec citation



, je tombe des nuits, je suis curieux de savoir pourquoi une telle limite?? A mon avis pour ton problème, tu vas peut être obligé de repasser manuellement enlever la contrainte sur le SQL généré,ce n'est pas très propre je te l'accorde. Ou casser la contrainte au niveau du mapping hibernate, mais la conserver dans tes services CRUD métier.

Partager