2017-01-15 29 views
0

私はカテゴリと製品と二つの個別のエンティティを持っているに可能性があり休止状態で休止状態

カテゴリー、携帯電話、ノートパソコンを私の要件のための2つのテーブルの関係を持っている方。

製品は、

リンゴのiPhone 7可能性があり、携帯電話のカテゴリ

デルinsprion下に来るサムスンの携帯電話は、マックブックプロラップトップカテゴリ今

の下に来る、新しい到着時にはあり電話(Lenovo vibe k5)、これを商品表に追加しています(私はカテゴリをペイロードの一部として渡しています)。商品は商品表に追加する必要がありますが、カテゴリは既にそのカテゴリが存在するためカテゴリテーブルに追加してはいけませんが、それが新しいカテゴリの場合はテーブルに保存する必要があります。

誰もがどのような種類の関係に両方のテーブルを持ってお勧めできますか?

私はOneToOne関係をしようとしていた、と私はそのカテゴリを保存する必要があるというエラーを取得しています私も関係ないと試みた

、私が直面していますが(私はテーブルに既に存在それとしてカテゴリを保存したいいけません) 2つのテーブルを結合する際の問題。

通常の電子商取引アプリはどのように開発されましたか?どこに行方が見えないのですか?

+0

あなたはおそらくいくつかの欠点を抱えていますが、コードを投稿したり明確な問題を投稿したりしなかったので、修正するのは難しいです。 –

答えて

0

OneToOneの関係は、すべての商品に固有のカテゴリがあり、すべてのカテゴリにもユニークな商品があることを意味します。それはおそらくあなたが本当に望むものではありません。

IMHO 1つのカテゴリは多くの製品に関連付けることができるので、製品とカテゴリの間に@ManyToOneの関係を定義する必要があります。

リレーションシップはProductエンティティによってマッピングされる必要があります(ProductテーブルにはCategoryに外部キーが含まれる)。

私は例えば、Hibernateのマッピングに関するいくつかの記事を読んだり、いくつかのチュートリアルを行くことをお勧めします。:https://howtoprogramwithjava.com/hibernate-manytoone-unidirectional-tutorial/

また、あなたは適切な関係にcascadingsを設定した場合、明示的に新しいカテゴリーを保存する必要はありません。