java - 模型关联太多,如何分离做到单一化
天蓬老师
天蓬老师 2017-04-18 09:27:17
0
2
282
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(2)
大家讲道理

長い間 ORM の使用をやめていた人たちに、ようやく苦情や意見を言うことができます。

Java バックエンドを書いている人がたくさんのモデル オブジェクトを書いているのをよく見かけますが、@chanjarster が言ったように、1 対 1、1 対多、多対など、さまざまな継承と組み合わせが使用されています。 -多くの、単一方向と双方向、直接混同されています...

実際、私は個人的に ORM は非常に悪い発明だと考えています。ORM の唯一の利点は、SQL について考える必要がないことです。 . さて、ほとんどの SQL プログラム プログラマにとって、Java を記述することは、ここでさまざまなオブジェクト マッピング ルールを覚えるよりもはるかに簡単です。 SQL

の欠点を要約します。 ORM

    成熟したフレームワークを使用しても、プロパティにアクセスするだけでオブジェクト全体のデータを読み込む必要がある場合があります。 (追記: 設定可能かもしれませんが、学習コストも高くなります)
  1. 多くのビジネス ニーズでは、テーブル検索、関数呼び出し、ストアド プロシージャが必要です。
  2. 抽象化するのが面倒で混乱してしまいました
  3. 要約すると、同意するなら諦めてください

ORM代替案:

  1. を柔軟に制御するには、MyBaits を使用して SQL を直接記述します。

  2. データベースを使用して、オブジェクトを

    データに変換します。このデータは、NOSQLJSONMongoDb など、直接保存できます。

いいねを押す +0
大家讲道理

あなたの質問は非常に重要です。簡単に言うと、3 つの次元を持つモデルとモデルの関係を理解することです。

  1. 「参照関係」または「所有関係」。 A が B を所有している場合、A が削除されると B も削除されます。 A が B を参照している場合、A が B を削除しても、B を削除する必要はありません。これはビジネスによって異なります。

  2. シングルまたは双方向。これはビジネスによって異なり、自分で判断できますが、「参照関係」の下では一方通行に保つようにしてください。 「所有関係」では、双方向性は問題ありません。

  3. 1 対 1、1 対多、多対 1、多対多。これについては詳しく説明しませんが、注意すべき点が 1 つあります。多対多を使用する場合は、これを行う必要があるかどうかを自問してください。

何らかの方法論について尋ねる必要がある場合は、DDD (ドメイン駆動設計) の集約ルートの概念を参照してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!