2012-03-21 72 views
0

我試圖在應用程序的數據庫中保留一個Template對象。它沒有給我任何例外,但是我得到了Grails的默認消息,當它用null:false約束標記時,試圖保存帶有null屬性的對象。將複合鍵保存爲空

類模板的屬性tempVersion不能爲空或(default.null.message)

模板類如下:

class Template implements Serializable { 

Long tempVersion 
String name 
Type type 
Status status 
App app 
String body 
Tester tester 
Date date 


static constraints = { 
    name blank:false, maxSize:50 
    type nullable:false 
    status nullable:false 
    app nullable:false 
    body blank:false, widget:"textarea" 
} 

static mapping = { 
    id composite:['id','tempVersion'] 
    tempVersion generator:"sequence", params:[sequence:'SEQ_TEMPLATE_VERSION'] 
    body type:"text" 
    version false 
} 

我不明白這是爲什麼,原因如果我將tempVersion指定爲主鍵以及默認的「id」,它永遠不會生成空值!就像不應該生成一個空ID一樣。 無論如何,有沒有人看到我在做什麼錯?

在此先感謝。

回答

1

如果您希望爲複合ID生成值,則必須編寫自定義序列生成器。 休眠不會生成複合ID的值

+0

那我該怎麼做? – 2012-03-21 20:59:02