私はベストプラクティスは、このようなデータモデルを扱うことであるのだろうか。ベストプラクティス:双方向関係を回避する必要がありますか?
- 役割
- ユーザー
- 許可
:
我々は3つのエンティティを持っていますエンティティはJavaクラスとして表現され、ハイバーネイトを介してデータベースにマップされることに注意してください。とにかく私は思いますこれらの技術についての知識がなくても問題に答えることができました。
User
& Role
間とRole
& Permission
間の多対多の関係があります。
ここでは双方向の関係はありますか?だから、Role
にあなたのすべてのメンバーを与え、彼のすべての役割を与えるようにUser
に依頼することができます。
両方のエンティティに問い合わせることは非常に快適ですが、1つの欠点は、関係を削除するときに両方のエンティティを管理する必要があることです。
など。 User
からRole
を削除する場合は、Role
からUser
も削除する必要があります。これらの関係がたくさんある場合、これはかなり迷惑になることがあります。したがって、ベストプラクティスが好きです。
トピックから投票された理由はわかりません。データモデリングはSQLデータベースだけではなく、プログラマが行うことです。 – Kos