2011-07-31 17 views
0

問題:2つのテーブル1つのクラス 誰でも私を宣言的にマップするのを手伝ってくれますか?order.hbm.xmlでhibernateを使って注文しますか?2つのテーブル1つのクラス

私は のuserIdが対象ユーザー と地図バスケットに項目の項目名と数量を含ん

注文

private int userId 
private int orderId 
private Map<Item, Integer> basket 

項目

private int itemId 
private String name 
private double price 

から来て次のプロパティを持つ一つのPOJOの注文を持っていますユーザー

private int userId 
private String userName 
private String password 
private String firstName 
private String lastName 

私のテーブルの要約が の下に注文IDが注文注文IDとし、アイテムIDで受注 にUserOrderの主キーと外部キーですが、複合プライマリキー

テーブル

UserOrder 
--------- 
USERID NUMBER 
ORDERID NUMBER PRIMARY KEY 

ORDERS 
------- 
ORDERID NUMBER 
ITEMID NUMBER 
QUANTITY NUMBER 

答えて

0

ユーザーであることができます多くの注文を置く。オーダーには1つまたは複数のアイテムを含めることができます。だから、Hibernateの標準的な1対多の関係です。

マップを使用してアイテムを保持することはお勧めできません。リストまたはセットを使用します。アイテムの属性として既に数量があります。

+0

ご回答いただきありがとうございます。 私はタイプミスをしていましたが、アイテムの数量ではなく量でした。 アイテムはキーであり、数量は各キーに値として格納されてバスケット(マップ)になります。 私は非常に新しいので、マップする方法に関するいくつかの例が必要です。 お手伝いができれば幸いです。 –

+0

いいえ、quantity属性を持つItemクラスがあります。マップの必要はありません。私は例を提供していません。 1対多でHibernateのドキュメントを見て、それを行う方法。 – duffymo

+0

@Aahil:duffyと同じように言った:マップを使用しないでください。モデルをよりオブジェクト指向にする。それをマッピングして特定の問題に戻ってください。 –

関連する問題