Grails / GORM:域和关联如何映射到MySql数据库

时间:2016-01-08 18:03:57

标签: mysql hibernate gorm

我正在通过Grails 3使用GORM,并且想知道在输出到MySql数据库时域和它们的关联是什么样的。

我真的在寻找一种“备忘单”指南。例如,某些事情表明:

String                 --> this column data type 

tablePerHierarchy true --> these tables 

hasMany                --> this table/join table 

hasMany & belongsTo    --> ...

我认为这将是一个快速的谷歌工作,但到目前为止我还没有发现任何事情。我也明白这是基于Hibernate所以我也试过在那里搜索。我可能只是渲染出这些表并在此处记录下来,但在此之前,社区中的任何人都知道这样的资源是否已经存在?

1 个答案:

答案 0 :(得分:1)

最重要的是,只需查看您的数据库,就可以更轻松地查看直播,使用 DBMS (例如HeidiSQLWorkbench等)

这是默认数据类型的一些示例 - >

1。)简单数据类型

String     -> VARCHAR(255)
Integer    -> BIGINT
BigDecimal -> DOUBLE
Boolean    -> BIT
Date       -> DATETIME

2。)存储域名关系 *(在数据库gorm中存储关系beetwen域名 id (BIGINT)和外键

a。) hasMany:

  class People { 
      ...
     hasMany = [men : Man]
  }

因为人们中有很多人,这就是我们在Man域中存储参考密钥的原因。 (这意味着db中的people表将等同于没有hasMany关系的表

b。) belongsTo hasOne

 class Man {                      
    ...                          
    Wife wife                    
    hasOne = [Hobby]             
    belongsTo = [People]         
 }

| wife_id | hoddy_id | people_id |

人员表中会有 id (BIGINT):" people_id "对表的重要参考, hasOne 类似于 belongsTo 和商店密钥参考Hobby表。 (妻子将与hasOne = [妻子]相似)

如果表中没有hasMany = [men : Man],则会有其他表:' man_people'(或类似的那样)

| man_id | people_id |

有关您可以找到>> Here <<的表格关系的更多信息。

顺便说一句,您可以更改映射中的默认数据类型,例如:

  name type: 'text'

名称将为LongText

P.S。我错过了什么,但我希望这会很小&#34;备忘单&#34;为你指导。