0
有一個域名類別,由Grails注入字段id
。實例化與地圖結果這樣一類在id == null
:Grails域類的newInstance(map)?
def obj = DomainClass.class.newInstance(id:100, name:'Joe')
assert obj.id != null // it fails
什麼是分配Grails中所有隱藏屬性的最佳做法?
有一個域名類別,由Grails注入字段id
。實例化與地圖結果這樣一類在id == null
:Grails域類的newInstance(map)?
def obj = DomainClass.class.newInstance(id:100, name:'Joe')
assert obj.id != null // it fails
什麼是分配Grails中所有隱藏屬性的最佳做法?
您可以自定義GORM如何使用DSL爲數據庫生成標識符。默認情況下,GORM依靠本地數據庫機制來生成ID。檢查文檔到customizes the way the identifier for a domain class is generated。
static mapping = {
id generator: 'assigned'
}
有過就當發電機被分配構造函數初始化ID的錯誤,看看這個博客文章與這個bug暫時的解決辦法: Assigning ID for domain objects in Grails via constructor。
這不是一個錯誤,它是故意的。它是爲了保護黑客不會將id的不同值發送到更新方法。同樣,'version','class'和'metaclass'在默認情況下被排除,以減少用'thing.properties = params'等代碼故意或錯誤地改變它們的可能性。如果您的工作流程有意義,您仍然可以手動分配該ID。 –
感謝您的澄清。我想說的是,JIRA中有一個錯誤報告。 –