我遇到了使用唯一約束的問題。 以下組合被允許具有空分量的複合標識的唯一性
A.name B.name
foo NULL
foo bar
foo bar1
foo1 bar
它不應該有可能創建一個同名的新A,只有當它有不同B. 隨着約束條件之下,可以創造
A.name B.name
foo NULL
foo NULL
因爲NULL似乎沒有影響唯一。
任何提示如何解決這個問題?
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)
}
您正在使用哪個RDBMS? – 2010-08-10 17:33:00
mysql,但問題在grails中要解決的問題及其對域名的約束 – skurt 2010-08-10 18:47:37
null值int關鍵組件可能會導致嚴重的麻煩:請考慮不允許在關鍵組件中使用空值。認真:考慮不允許在關鍵組件中使用空值 – Sammyrulez 2010-08-11 07:08:02