2012-01-16 160 views
0

這是我的用戶實體..爲什麼我的lastlogin在數據庫中不爲空?我已將aLready設置爲空。Grails實體約束

class Users { 


static hasMany = [farm:Farms,report:Reports,reportMessage:ReportMessages] 

String userName 
String Password 
Date LastLogin 
String userImage 

static constraints = { 
    userName (blank:false, unique:true) 
    Password (blank:false) 
    userImage (blank:false) 
    LastLogin (blank:true) 

} 

}

+0

可能是內存泄漏問題重新啓動pc並再次檢查代碼是否正確並丟棄數據庫並再次創建 – 2012-01-16 11:22:15

+1

@HelpMeToAskQuestions這是非常糟糕的建議。我會給你的懷疑的好處,並將其歸因於無知而不是惡意 – 2012-01-16 11:26:29

+0

先生,我一直面臨同樣的問題,所以我發現這是上述可以建議我更好的解決方案,這個 – 2012-01-16 11:28:04

回答

0

是的,有一個錯誤。將LastLogin更改爲lastLogin並解決該問題。

+0

對我來說似乎不太可能,但如果您確定,我會鼓勵您在Grails bug-跟蹤器,以便其他人不會有同樣的問題 – 2012-01-17 09:14:24

1

如果你想LastLogin是空的,你應該使用約束

LastLogin (nullable:true) 

而不是

LastLogin (blank:true) 

爲什麼我lastlogin不爲空的數據庫?我已將aLready設置爲空。

添加約束之一以上並不意味着它空白/空時,這意味着它可以空白/空。

它在數據庫中不爲空的原因很可能是因爲您在保存Users對象之前爲其分配值。

+0

我試過可空,但它不起作用。 – user2514963 2012-01-16 11:33:04

+0

@ user974459然後你應該創建一個測試,重現可空行爲不工作,並在Grails bug跟蹤器中打開一個bug(附帶測試)。不過,我99.999%肯定可以爲空,並且同樣確定問題出現在代碼中的某處,而不是Grails錯誤。 – 2012-01-16 11:36:59

+0

但它是不能爲空的數據庫列 – user2514963 2012-01-16 11:38:42