0

私たちのアプリケーションにはいくつかの多言語エンティティが必要であり、そのためのベスト プラクティスは何かを知りたいです。

現在、一般的な情報と言語固有のフィールドがあるため、1:n の関係で解決されています。

そのためにエンティティ継承を使用することは可能であり、良い考えですか? オブジェクトの一般的な部分はいつでも変更できますか?

例 (疑似コード)

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

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

私の説明が、必要なものを明確にするのに少し役立つことを願っています。

4

1 に答える 1

1

継承は静的であることを意図しているため、それは良いアイデアではないと思います。新しいロケールが必要になったらすぐに、マップに新しい継承要素を追加する必要があります。逆に1:nの関係はそのままで伸びていくので良いです。さらに、 単一のテーブル継承を持つフィールドを追加するということは、このテーブル内のすべてのエンティティに対してフィールドを追加することを意味します。oneToMany を使用することをお勧めします:)

于 2013-05-17T14:21:52.130 に答える