我有一个 web 应用程序,我在其中使用 hibernate 并使用 ant 部署在 tomcat 上。我在源目录中创建了一个 hibernate.cfg.xml,其中包含所有映射值。
我的应用程序有一个 ShoppingCart 、CartItem 和 ItemForSale 类。我需要映射由数据库表表示的 CartItem 和 ItemForSale 类之间的关系。我试图按如下所示进行计算。我不确定这是否是正确的方法..我想在这件事上征求你的意见/意见..请帮忙..
CartItem 具有 ItemForSale 字段和数量。
class CartItem{
ItemForSale item;
int quantity;
...
}
class ItemForSale{
String name;
double price;
}
假设我有这两个类的一些实例,
saleitem1 = new ItemForSale("pizza",20.0);
saleitem2 = new ItemForSale("pastry",10.0);
saleitem3 = new ItemForSale("cake",30.0);
cartitem1 = new CartItem(saleitem1,1);
cartitem2 = new CartItem(saleitem1,2);
cartitem3 = new CartItem(saleitem2,1);
一个 caritem 一次不能包含多个 saleitem,
我在下图中显示了映射..绿线显示有效关系,而红线显示这两组之间的无效关系
由此,我推断, CartItem 和 ItemForSale 之间存在多对一的关系。所以,在我的 CartItem.hbm.xml 文件中,我必须写
<class name="shop.cart.CartItem" table="CARTITEM">
<id name="cartItem_id" column="CARTITEM_ID" type="long">
<generator class="native"/>
</id>
<property name="quantity" type="int" column="QUANTITY" />
<many-to-one name="saleitem" class="shop.domain.ItemForSale" column="ITEM_FOR_SALE_ID" lazy="false" />
</class>
这是正确的表示吗?还是我的解决方法有问题?
谢谢
标记