【发布时间】:2012-07-24 17:25:52
【问题描述】:
[此场景用于说明]
我有一些产品,每个产品都可以有cmets。评论有两种类型,general cmets(GC)和product cmets(PC)。
示例表
产品
ID 名称
1 个苹果
--
PRODUCT_COMMENTS
COMMENT_ID |评论 | COMMENT_TYPE
1 | IPHONE 不错 |电脑
2 | IPAD 看起来不错 |GC
3 |一般评论|气相色谱
4 |产品评论|PC
假设 Product 表到 Product_comment 表有一个外键。
我有几个类映射到这些表。
Product 类和 ProductComment 类
Product 类与 ProductComment 类具有一对一的关系。
public class Product {
private Long id;
private String productName;
private List<ProductComments> productComments;
private List<ProductComments> generalComments;
.....
}
现在我的问题是,有两个单独的 cmets 列表(由 comment_type 区分)。
当我说
Product p = (Product)session.load(Product.class, new Long(1));
是否可以正确获取generalComments和productComments?在上面的例子中
generalComments 列表应包含 ['IPAD LOOKS GOOD','GENERAL COMMENT'],productComments 列表应包含 ['IPHONE IS GOOD','PRODUCT COMMENT']。
应该做什么样的映射来实现上面的事情?
编辑:
我们使用 Hibernate 3.0 和 hbm 映射文件(不是注释)。
【问题讨论】:
标签: java hibernate one-to-many hibernate-mapping