我正在通过 Grails 3 使用 GORM,并且想知道输出到 MySql 数据库时域及其关联是什么样子。
我真的在寻找某种“备忘单”指南。例如,某些内容指出:
String --> this column data type
tablePerHierarchy true --> these tables
hasMany --> this table/join table
hasMany & belongsTo --> ...
我认为这会是一项快速的 Google 工作,但到目前为止我还没有发现任何东西。我也知道这是基于 Hibernate 的,所以我也尝试在那里搜索。我可能只是渲染这些表格并自己在这里记下,但在我这样做之前,社区中的任何人都知道这样的资源是否已经存在吗?
最佳答案
最重要的是,只需查看您的数据库,就可以更轻松地实时查看,为此使用DBMS(例如 HeidiSQL 、 Workbench 等)
这是默认数据类型的一些示例 ->
1.) 简单数据类型:
String -> VARCHAR(255)
Integer -> BIGINT
BigDecimal -> DOUBLE
Boolean -> BIT
Date -> DATETIME
2.) 域关系的存储 *(为了在数据库中存储域之间的关系gorm添加了id(BIGINT)和外键)
a.) 有很多:
class People {
...
hasMany = [men : Man]
}
由于人群中有很多男性,这就是我们在 Man 域中存储引用键的原因。 (这意味着数据库中的 people 表将相当于没有 hasMany 关系的表)
b.) belongsTo , hasOne
class Man {
...
Wife wife
hasOne = [Hobby]
belongsTo = [People]
}
| wife_id | hoddy_id | people_id |
Man 的表中将有 id (BIGINT):“people_id”,其中关键引用为 People表,hasOne 与 belongsTo 类似,存储对 Hobby 表的键引用。 (Wife 类似于 hasOne = [Wife])
如果People表中没有hasMany = [men : Man]
,则会有额外的表:'man_people'(或类似的东西)
| man_id | people_id |
有关表关系的更多信息,您可以找到 >> Here << .
顺便说一句,您可以更改映射中的默认数据类型,例如:
name type: 'text'
名称将为长文本
附注Mb,我错过了一些事情,但我希望这将是一个小的“备忘单”指南。
关于mysql - Grails/GORM : How do Domains and Associations map to a MySql Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683323/