关于domain
domain是Grails的中心,因此,有必要对他多加关注。
1. 属性的类型必须定义
Grails是有Groovy实现的,依据Groovy的语法,以下代码是完全正确的,但是Grails整合了Hibernate和Spring,使用了GORM反射机制实现实体间的映射,所以在定义域类时不要使用def关键字来定义属性,务必明确定义属性类型。
在默认情况下,String映射到数据库中的字段类型是VARCHAR(Date映射到数据库中的字段类型是DATETIME),如果通过类变量contraints定义了String的长度范围,且长度过长,映射到数据库中的字段类型会变为TEXT,十分智能。
2.domain中属性的约束
domain中属性的约束条件在上一篇中都已经涉及了,只需要将其在constraints中加以定义,就能实现。
3. 调整界面上字段显示顺序
要跳转domain中的属性在界面上的显示顺序,只要在constraints的闭包中调整期位置即可。
4. 重写toString()方法
重写toString()方法,对于得到我们需要的值,以及在GORM映射时显示都有很重要的作用。在重写中需要注意:toString的返回值不能定义为def类型,也不能使用闭包的方式重写,因为他重写的是java的Object类