我必须设计数据库,以便我有一个名为 Item 的表(待售)。当一个项目被创建时,它的一部分就是数量。所以我打算有一个表 item_qty 有 item_id 和数量(店主拥有的原始数量)。
现在客户会在网上看到这个项目并下订单。所需的设计是这样一个订单可以有很多项目,每个项目都有一个相关的数量(这是来自客户的数量,例如我想买 2 支笔)。
理想情况下,我希望 Order 类具有:
Map<Item, Integer> items;
其中 Integer 字段用于数量。和一个对应的表 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 等,这显然不是我的情况。
请提出最佳方法,我会尽力实施。
在此先感谢,穆斯塔法