Je rencontre des problèmes en utilisant des contraintes uniques. Les combinaisons suivantes sont autoriséesUnicité de l'ID composite avec le composant null
A.name B.name
foo NULL
foo bar
foo bar1
foo1 bar
Il ne devrait pas être possible de créer un nouveau A avec le même nom, que si elle a un autre B. Avec les contraintes ci-dessous, il est possible de créer
A.name B.name
foo NULL
foo NULL
Parce que NULL ne semble pas avoir d'effet sur unique.
Des conseils pour résoudre ce problème?
class A {
String name
static belongsTo = [b:B]
static constraints = {
name(unique:'b')
b(nullable:true)
}
}
class B {
String name
static hasMany = [as:A]
name(unique:true)
}
Quel (s) SGBDR utilisez-vous? –
mysql, mais la question aimes à résoudre dans grails et sa contrainte pour les domaines – skurt
null valeurs int composant clé peut vous conduire à de sérieux problèmes: s'il vous plaît envisager de ne pas autoriser la valeur nulle dans le composant clé. Sérieusement: ne pas autoriser la valeur NULL dans le composant clé – Sammyrulez