2016-12-06 129 views
1

在域中我對狀態屬性以下說明Grails領域屬性默認值不設

static mapping={ 
    status defaultValue="NNE" 
} 

static constraints={ 
    status(nullable:false, inList:["NNE","NMO","NJE"]) 
} 

但是,當我創建域對象的新實例,狀態爲空的,而不是設置到默認。

def instance=new Ticket(); 
println instance.status;// this is NULL instead of the default "NNE" 

這應該是這樣嗎?

+0

不是Grails的3和MySQL的工作無論是對我來說。在Grails外部插入行時,可以正確設置Defaultvalue。在Grails中,該值爲NULL。 – Guus

回答

1

不,它不是這種情況。 defaultValue是數據庫約束的提示(mapping影響數據庫模式)而不是域類本身。如果你想要一個默認值,那麼在屬性上設置一個默認值。例如:

class TheClass { 
    String status = 'DEFAULTHERE' 
    ... 
}