0

Hibernate での 1 対多の関係に関する Mkyongのこの素晴らしい記事を読みましたが、大きな疑問があります。Mkyong は、彼の例で 2 つのクラスを使用しています。Stock.java and StockDailyRecord.java

クラス図「株式には多くのstockdialyrecordsがあります」である必要があると思います。したがって、データベースエンティティ図「1対多のstockdialyrecordsの株式」である必要があります。

しかし、Mkyong はさらに進んでおり、ここに私の疑問が浮かびます。という名前の属性を設定しましたStock stock on the StockDialyRecords class。とは言っても、彼は双方向の関係を築いている。これは正しいです?このように ORM では、両方向に歩くことができると理解しています。しかし、Diagram クラスの観点からは、 「Stock には多くの StockDialyRecords があり、StockDialyRecords には Stock があります」と書かれているようなものです。

私はそれを建築の概念の観点から言います。それは循環または逆説のようなものです。

4

2 に答える 2

2

2 つの異なる関係を表すため、双方向です。

  • stockには多くのレコードがあります (1 対多)

  • レコード参照株 (多対一)

どちらの関係も、ビジネスの観点からは理にかなっています。後者はさらに重要なようです。各レコードには、それが説明する株への参照が必要です。

技術的な観点から、双方向の関係にはいくつかの利点があります。たとえば、両側からクエリを作成できます。

于 2012-11-22T18:54:22.813 に答える
2

はい、間違いなく多対 1 にする必要があります。Hibernate が関係を管理し、問題を回避するため、1 対多としてリンクバックします。したくない場合は必要ありませんが、追加のコーディングが必要になる可能性があることを意味します。

于 2012-11-22T18:56:38.803 に答える