2017-07-29 1 views
0

果物を3つしか販売しておらず、顧客が3人いると仮定します。トランザクションを追跡するためにハイバネーションマッピングはどのように行われますか?これはインタビューの質問だったので、多対1のシナリオでトランザクションをどのように処理するのか分かりませんでしたか?多対1マッピングのリアルタイムシナリオを休止

答えて

1

言い換えれば、 1つの果物で唯一の顧客を買うことができ、各顧客は1つ以上の果物を購入することができます。

カスタマーエンティティでは、@OneToManyで注釈付きのリストを、フルーツエンティティでは、各フルーツがただ1人の顧客を購入できることを示す@ManyToOneで注釈を付けられた顧客を持つ必要があります。

あなたはこのようにフルーツのオブジェクトを観察する一方、これは簡単に@ManyToMany関係になります 表の果物:

| fruit_id | name | count | 
--------------------------- 
| 1  | apple | 100 | 
| 2  | orange| 200 | 
| 3  | peach | 300 | 

、あなたはそれぞれの果実が各顧客を購入することができ、それぞれの顧客ができることを伝えることができますが各果物を購入する。 fruit_idとcustomer_idの結合テーブルは次のようになります。

| fruit_id | customer_id| 
------------------------- 
| 1  | 1   | 
| 1  | 2   | 
| 1  | 3   | 
| 2  | 1   | 
| 2  | 2   | 
| 2  | 3   | 
関連する問題