У меня есть веб-приложение, в котором я использую hibernate и развертываю на tomcat с помощью ant. Я создал 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);
Cartitem не может содержать более одного Saleitem одновременно,
Я показал отображения на диаграмме ниже. Зеленые линии показывают действительные отношения, в то время как красная линия показывает недопустимое отношение между этими двумя наборами.
Из этого я заключаю, что между CartItem и ItemForSale.So существует отношение много-к-одному .y Файл 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>
Это правильное представление?Или что-то не так с тем, как я с этим справился?
спасибо
mark