簡體   English   中英

Grails / GORM:域和關聯如何映射到MySql數據庫

[英]Grails/GORM: How do Domains and Associations map to a MySql Database

我正在通過Grails 3使用GORM,並且想知道將域及其關聯輸出到MySql數據庫時的外觀。

我真的在尋找某種“備忘單”指南。 舉例說明:

String                 --> this column data type 

tablePerHierarchy true --> these tables 

hasMany                --> this table/join table 

hasMany & belongsTo    --> ...

我以為這是Google的快速工作,但到目前為止我還沒有發現任何東西。 我也了解這是基於Hibernate的,因此我也嘗試在其中進行搜索。 我可能只是渲染了這些表並在這里自己記下來,但是在此之前,社區中是否有人知道這種資源是否已經存在?

最重要的是,只需查看您的數據庫,就可以更輕松地進行實時查看,為此使用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。) 屬於 ,具有hasOne

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

| wife_id | hoddy_id | people_id |

Man的表中將有id (BIGINT):“ people_id ”,其鍵引用到People表, hasOne類似於belongsTo ,並將鍵引用存儲到Hobby表。 妻子將類似於hasOne = [妻子])

如果在People表中沒有hasMany = [men : Man] ,則將有其他表:'man_people'(或諸如此類)

| man_id | people_id |

有關表關系的更多信息,請參見>>這里<<

順便說一下,您可以在映射中更改默認數據類型,例如:

  name type: 'text'

名稱將為LongText

PS Mb我錯過了一些東西,但是我希望這對您來說是個小的“備忘單”指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM