1
我有一個域類有一堆不可空字符串。對於其中一個域屬性,我稱之爲自定義驗證程序,它執行數據庫檢查。當我的原始域對象中有一個字段無效時,在定製驗證期間,域對象嘗試刷新。這導致'非空屬性引用空值或瞬態值'錯誤。我的休眠模式設置爲手動模式,所以我不知道它爲什麼會嘗試刷新。Grails的非空屬性在驗證過程中引用空值或瞬態值
String id
String name
String type
String description
static constraints =
{
id unique: true, nullable:false
type unique:false, nullable: false
name(unique:['type'] nullable: false, blank:false,
validator:{val, obj ->
if(val != null)
{
def result = OtherDomain.findByType(val)
if(result == null)
{
return 'foreignkey'
}
}
})
description unique:false,nullable: false
}
static mapping =
{
table 'track'
id column:'id', type: 'string', generator: 'assigned'
version false
}
沒有其他域修改正在進行。這是此次交易中唯一編輯的域。
這就解決了問題,並驗證了它的背景。謝謝! – Joseph