【このシナリオは説明用です】
私は特定の製品を持っており、各製品にコメントを付けることができます。コメントには、一般コメント(GC)と製品コメント(PC)の2種類があります。
サンプルテーブル
製品
ID名
1アップル
-
PRODUCT_COMMENTS
COMMENT_ID | コメント| COMMENT_TYPE
1 | IPHONEは良いです| PC
2 | IPAD LOOKS GOOD | GC
3 | 一般的なコメント| GC
4 | 製品コメント|PC
ProductテーブルからProduct_commentテーブルへの外部キーがあると想定します。
そして、これらのテーブルにマッピングするクラスがいくつかあります。
ProductクラスとProductCommentクラス
製品クラスは、ProductCommentクラスと1対5の関係にあります。
public class Product {
private Long id;
private String productName;
private List<ProductComments> productComments;
private List<ProductComments> generalComments;
.....
}
今私の問題は、 コメントの2つの別々のリストがあります(comment_typeによって区別されます)。
私が言ったら
Product p = (Product)session.load(Product.class, new Long(1));
generalCommentsとproductCommentsを正しくフェッチすることは可能ですか?上記の例では
generalCommentsリストには['IPADLOOKSGOOD'、'GENERAL COMMENT']が含まれ、productCommentsリストには['IPHONE IS GOOD'、'PRODUCTCOMMENT']が含まれている必要があります。
上記を実現するには、どのようなマッピングを行う必要がありますか?
編集 :
Hibernate 3.0およびhbmマッピングファイル(注釈ではない)を使用します。