複数の部門で働く従業員がいます。 Employee には OneToMany 関係があり、Department クラスにはManyToOne 関係があります。
リーリーMySQL で作成されるテーブルは次のとおりです:
問題は、複数の従業員がおり、従業員が複数の部門を持つ可能性があることです。部門テーブルが大きすぎるため、上の画像に示すように、部門名が従業員ごとに繰り返されます。私は 2xManagement を持っています。私の質問は、employee_idなしで部門テーブルを作成し(部門名のみ)、2つの属性(employee_idと部門ID)のみを持つ別のテーブルにリンクできるかどうかです。これには新しいクラスを作成する必要がありますか?この関係を最適化するにはどうすればよいでしょうか?それを行う方法はありますか?
弱いエンティティを使用して、ソリューションを @ManyToMany に変更する必要があります。 参考文献: https://www.baeldung.com/hibernate-many-to-many