我有一個非Grails特定問題,但我打算用它來實現它。不管怎麼說,我想有一個一對多的域類關係,但我希望很多部分是幾種不同的類型。Grails - 多對象數據庫關係
例如: 域Class Man
將有幾個Friends
(這是我們的1對多的關係),但友位可能是另一種Man
其特定套的方法和屬性,或Dog
,或Monster
,等
我瀏覽過網頁,但不知道如何正確命名我正在尋找什麼。 任何幫助極大讚賞
我有一個非Grails特定問題,但我打算用它來實現它。不管怎麼說,我想有一個一對多的域類關係,但我希望很多部分是幾種不同的類型。Grails - 多對象數據庫關係
例如: 域Class Man
將有幾個Friends
(這是我們的1對多的關係),但友位可能是另一種Man
其特定套的方法和屬性,或Dog
,或Monster
,等
我瀏覽過網頁,但不知道如何正確命名我正在尋找什麼。 任何幫助極大讚賞
你能試試嗎?我不確定%100,但你應該這樣做。你需要一個繼承接口。
interface Alive{
//just definition
}
class Friend implements Alive {
//definition
}
class Pet implements Alive{
//definition
}
Person{
static hasMany = [ alives: Alive]
}
看起來不錯:) 謝謝。我知道在GORM中繼承的一個限制是你不能允許'可空'字段。我會檢查它,嘗試實施它,並回到你的反饋如何去。 再次感謝! –
你可以在我想的繼承中有可空字段。您需要使用table-per-subclass而不是默認的每個層次結構設置。指定靜態映射= {tablePerHierarchy false}。更多信息請參見第5.5.2.3節:http://grails.org/doc/latest/guide/single.html#5.5.2%20Custom%20ORM%20Mapping –
「但朋友位可能是另一個具有特定方法和屬性集的人,或者狗或怪物等。」你能解釋一下嗎? – erimerturk
嗨, 我想創建一個1 t很多的關係,但希望很多部分不是一個固定類型。我希望能夠爲存儲在關係多方的對象分配幾種可能的類型。 在我上面的例子中,一個男人會擁有一個場友,而一個朋友可以是怪物,寵物或男人類型。 有關如何實現這一點的任何猜測以及它涉及哪些技術? –
好吧我一直在受其他一些東西的影響,但是我會在實施它時回到你身邊:) –