2013-05-17 24 views
0

我需要一些多語言實體在我們的應用程序,我想知道什麼是最佳做法。具有繼承功能的多語言實體?

目前它以1:n的關係解決,因爲有一般信息和語言特定的領域。

是否有可能並且使用實體繼承是一個好主意?所以我可以總是改變一個物體上的一般部分?

例(僞代碼)

class Product { 
    public $id; 
    public $status; 
} 

class ProductDetails extends Product { 
    public $language; 
    public $name; 
    public $description; 
} 

我希望我的解釋有點幫助弄清楚我需要什麼。

回答

1

我認爲這不是一個好的idae,因爲繼承意味着是靜態的。只要你想要一個新的區域,你就必須在你的地圖中添加一個新的繼承元素。相反,1:n關係是好的,因爲它沒有任何修改就會增長。此外,添加一個表單繼承的字段表示在此表中爲每個實體添加一個字段。 更好地使用oneToMany :)

+0

對錶繼承的另一點是當你想要做本機查詢。配置您的ResultStMapping將變得很難/不可能。 – Florian