-1
在我的Grails 2.5.X的應用程序,我有一個域類,看起來像這樣:映射生成數據庫列到Grails領域類屬性
class FormData {
String submittedFields
Boolean submitted
static constraints = {
submittedFields nullable: true
}
static mapping = {
// can I do something here to map submitted to a generated
// column of the form_data table
}
}
我想給submitted
屬性映射到一個產生在form_data
列中,即會通過SQL語句
alter table form_data add submitted tinyint
GENERATED ALWAYS AS (if(submitted_fields is null,0,1));
具體而言,當我從域模型,例如創建模式應創建這個生成列創建一個列通過運行schema-export
腳本。
將submitted
映射到生成的列的結果是相應的域類屬性應該是隻讀的,或者至少爲其分配值應該沒有任何影響。
感謝您的回覆,這是非常有幫助的,但並沒有回答我的問題的其他部分:我如何讓grails將此列包含在生成的模式中? –
你的意思是數據庫遷移插件? - 這應該生成沒有任何問題的列 –
我的意思是當Grails生成模式時,例如當'schema-export'腳本運行時,或者應用程序以'dbCreate =「create-drop」'模式啓動時。根據目前的情況,Grails無法創建此列,因爲我沒有在域模型中的任何位置定義它的本質,我的意思是提交tinyint GENERATED ALWAYS AS(if(submitted_fields is null ,0,1))' –