【发布时间】:2013-07-25 14:31:41
【问题描述】:
我必须设计数据库,以便我有一个名为 Item 的表(待售)。当一个项目被创建时,它的一部分就是数量。所以我打算有一个表item_qty,里面有item_id和数量(店主原来的数量)。
现在客户会在网上看到此商品并下订单。所需的设计是这样一个订单可以有很多项目,每个项目都有一个关联的数量(这是来自客户的数量,例如我想买 2 支笔)。
理想情况下,我希望 Order 类具有:
Map<Item, Integer> items;
其中整数字段用于数量。
和一个对应的表 Order_items 有 (order_id, item_id, requested_qty)。
这是正确的方法吗?如果不是 - 最好的方法是什么。显然,使用我拥有的当前代码:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@MapKeyJoinColumn(name="id")
public Map<Item, Integer> getItem() {
return item;
}
我得到:
原因:org.hibernate.AnnotationException:使用@OneToMany 或@ManyToMany 针对未映射的类:com.test.shop.jpa.entity.Order.item[java.lang.Integer]
包括 Hibernate 在内的许多教程都建议使用不同的用例,例如 Customer 将 Orders 映射为 orderId:Order 等,这显然不是我的情况。
请提出最佳方法,我会尽力实施。
提前致谢, 穆斯塔法
【问题讨论】:
标签: hibernate jpa hashmap one-to-many