当构建 Grails应用程序时,你必须考虑你要试图解决的问题域。
比如,你正在构建一个Amazon 书店,你要考虑 books, authors, customers 和publishers 等等。
这些在GORM中被当做Groovy类 来进行建模,因此, Book 类可能拥有 title, release date,ISBN等等。
创建domain类,你可以运行 create-domain-class ,如下:grails create-domain-class Book
将会创建 grails-app/domain/Book.groovy类:class Book {
}
如果你想使用 packages 你可以把 Book.groovy类移动到 domain 目录的子目录下,并按照Groovy (和 Java)的 packaging 规则添加正确的 package 。
上面的类将会自动映射到数据库中名为 book的表格 (与类名相同)。
可以通过 ORMDomain Specific Language定制上面的行为。
现在,你可以把这个domain类的属性定义成Java类型。 例如:class Book {
String title
Date releaseDate
String ISBN
}
每个属性都会被映射到数据库的列,列名的规则是所有列名小写,通过下划线分隔。
比如releaseDate 映射到 release_date列。
SQL类型会自动检测来自Java的类型 , 但可以通过Constraints 或 ORM DSL定制。