2011-03-22 93 views
1

我有軟件< -m:n> tag其中軟件是主要部分的關係(標籤有mappedby="softwares")。yml文件中的測試數據和多對多關係

所以,後來,當我想測試數據導入到數據庫中,我提出:這個腳本執行

Software(software1): 
    title: title1 
    description: descr1 

Software(software2): 
    title: title2 
    description: descr2 

Tag(tag1): 
    title: pay 
    softwares: [software1] 

Tag(tag2): 
    title: pay2 
    softwares: [software2] 

之後,我們開始充滿所有的數據,以及新表Tag_Software將與內部的關係數據來創建。

但是,對我來說這將是更符合邏輯的改變標籤和軟件,這裏的順序:

Tag(tag1): 
    title: pay 

Tag(tag2): 
    title: pay2 

Software(software1): 
    title: title1 
    description: descr1 
    tags: [tag1] 

Software(software2): 
    title: title2 
    description: descr2 
    tags: [tag2] 

即我可以單獨創建標籤,然後在創建軟件時只需將此標籤放入此軟件 - 製作鏈接。 (它應該工作,因爲它在Java代碼中工作)。但它在這裏不起作用 - 因此我們有空的Tag_Software表。

你能解釋這種行爲嗎?或者如何做得更好?

回答

1

我想你自己回答這個問題。你說:

有軟件< -m:N->標籤,其中 軟件是 關係的主要部分(標記有 的mappedBy = 「軟件」)。

這意味着屬性「軟件」管理rel,您需要在其中添加鏈接。如果將它們添加到另一端,則rel不會建立(如您所見)。

如果您想要更改此設置,請將mappedBy更改爲標籤