-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))' –