grails domain 如何不生成对应的表、如何不生成某些字段的表字段等

来源:互联网 发布:mac双系统默认windows 编辑:程序博客网 时间:2024/05/20 13:09

grails 底层集成了hibernate,所以会根据你的实体类自动创建表结构(对应表不存在的情况下),那么如何创建一个不会自动生成表的实体类domain呢?

一、不生成对应的表

只需要在其他domain类中,定义你不需要表的domain类,即内部类

在A.groovy中声明domain B

class A {

String name

}

class B {

String name

}

这样 grails就只会生成表a,不会生成表b

二、生成表,不生成某些字段的表结构

static transients = ['myfield']  定义时只需要指定这个static transients 即可

class A {

String name

static transients = ["name"]

int age

}

这样生成的表结构中就只有age字段,name没有

三、去除乐观锁的影响

grais的domain会自动添加乐观锁,即每个表记录都会有一个默认的version字段

如何去除呢

只需在domain中添加

static mapping = { version(false)} 即可

四、表已经存在,且与domain不对应 如何对应

grails domain与表结构是默认按照驼峰命名法对用的

比如 实体类 CustomerPhone 对应的表 customer_phone

字段 phoneView 对应表字段 phone_view

那么表已经存在且不与domain实体类对应时怎么办呢?不必担心

可以加上如下对应关系

static mapping = {

table('phone')

phoneView column : 'phone'

}

这样 实体类 CustomerPhone 对应的表就是 phone

字段 phoneView 对应表字段就是 phone

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 汽油进到眼睛了怎么办 汽油进了眼睛里怎么办 眼睛里面进了汽油怎么办 脱硫塔里的二氧化硫高怎么办 恐怖黎明铁匠选错怎么办 堡垒之夜草变色怎么办 火柴没有擦的了怎么办 乙醚倒进下水道了怎么办 乙醚和水不分层怎么办 乙醚闻多了头晕怎么办 爱乐维吃了便秘怎么办 刮完滑石粉墙面很软怎么办 被硫酸泼到皮肤怎么办 头磕了一下头晕怎么办 家里有事与工作不能请怎么办 撞了头头晕想吐怎么办 猫不小心摔一下怎么办 一氧化二氮中毒怎么办 电脑开机变慢了怎么办 怎么办抚顺韦德健身卡 预售健身卡合法吗怎么办 被浓硫酸泼到怎么办 婴儿误喝了生水怎么办 宝宝喝了生水拉肚子怎么办 因妈妈喝生水宝宝拉肚子怎么办 喝了几口生水怎么办 不小心吃到蟑螂怎么办 吃了有蛆的樱桃怎么办 不小心误食了蛆怎么办 吃了有蟑螂的汤怎么办 调节天平时指针向右怎么办 香薰蜡烛融化了怎么办 香薰蜡烛挂壁怎么办y 粗蜡烛只烧中间怎么办 紫薯馒头变绿怎么办 小孩手开水烫了怎么办 被油烫伤了怎么办才不留疤 烫伤水泡蹭破了怎么办 烧伤的水泡破了怎么办 烧伤后水泡破了怎么办 烫伤泡破了红肿怎么办