根据表结构来创建Grails的Domain
首先是一对一的关系,假设有两张表,Face和Nose
Face表
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| version | bigint(20) | NO | | NULL | |
| name | varchar(255) | NO | | NULL | |
| nose_id | bigint(20) | NO | MUL | NULL | |
+---------+--------------+------+-----+---------+----------------+
Nose表
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| version | bigint(20) | NO | | NULL | |
| name | varchar(255) | NO | | NULL | |
+---------+--------------+------+-----+---------+----------------+
最简单的定义方式就是
class Face { String name Nose nose}class Nose { String name}class Nose { String name static belongsTo = [face:Face]}class Face { String name }class Nose { String name static belongsTo = [face:Face]}class Face { String name static hasOne = [nose : Nose]}class Author { String name static hasMany = [book: Book] }class Book { String name; static belongsTo = [author : Author]}class Book { String name; static hasMany = [author:Author] static belongsTo = Author}