大家讲道理2017-04-18 09:29:17
長い間 ORM
の使用をやめていた人たちに、ようやく苦情や意見を言うことができます。
Java
バックエンドを書いている人がたくさんのモデル オブジェクトを書いているのをよく見かけますが、@chanjarster が言ったように、1 対 1、1 対多、多対など、さまざまな継承と組み合わせが使用されています。 -多くの、単一方向と双方向、直接混同されています...
実際、私は個人的に ORM
は非常に悪い発明だと考えています。ORM の唯一の利点は、SQL
について考える必要がないことです。 . さて、ほとんどの SQL
プログラム プログラマにとって、Java
を記述することは、ここでさまざまなオブジェクト マッピング ルールを覚えるよりもはるかに簡単です。
SQL
の欠点を要約します。
ORM
ORM
代替案:
を柔軟に制御するには、MyBaits
を使用して SQL
を直接記述します。
データに変換します。このデータは、NOSQL
JSON
MongoDb
など、直接保存できます。
大家讲道理2017-04-18 09:29:17
あなたの質問は非常に重要です。簡単に言うと、3 つの次元を持つモデルとモデルの関係を理解することです。
「参照関係」または「所有関係」。 A が B を所有している場合、A が削除されると B も削除されます。 A が B を参照している場合、A が B を削除しても、B を削除する必要はありません。これはビジネスによって異なります。
シングルまたは双方向。これはビジネスによって異なり、自分で判断できますが、「参照関係」の下では一方通行に保つようにしてください。 「所有関係」では、双方向性は問題ありません。
1 対 1、1 対多、多対 1、多対多。これについては詳しく説明しませんが、注意すべき点が 1 つあります。多対多を使用する場合は、これを行う必要があるかどうかを自問してください。
何らかの方法論について尋ねる必要がある場合は、DDD (ドメイン駆動設計) の集約ルートの概念を参照してください。