Read the rules before posting!
http://www.hibernate.org/ForumMailingli ... AskForHelp
[b]Hibernate version:3.1[/b]
[b]Mapping documents:<hibernate-mapping>
<class name="Customer" table="customers">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="orders" [color=red][u]inverse ="true"[/u][/color] lazy="true">
<key column="customer_id"/>
<one-to-many class="Order"/>
</set>
</class>[/b]
[b]Code between sessionFactory.openSession() and session.close():Transaction tx = session.beginTransaction();
Customer customer = (Customer)session.load(Customer.class,cust);
HashMap orderItem = orderItems;
Set keys = orderItem.keySet();
Iterator itr = keys.iterator();
List listItem = new ArrayList();
while(itr.hasNext()){
Long itemNo = (Long)itr.next();
Product prd = (Product)session.load(Product.class,itemNo);
Integer qty = (Integer)orderItem.get(itemNo);
LineItem lineitem = new LineItem(prd,qty);
listItem.add(lineitem);
}
Date date = Calendar.getInstance().getTime();
Order order = new Order(date);
order.setLineItems(listItem);
Set customerOrder = new HashSet();
customerOrder.add(order);
customer.setOrders(customerOrder);
session.save(order);
session.save(customer);
tx.commit();[/b]
___________________________________________________________
Hi in above shown mapping file IF I remove Lazy = true then follwoing this is happening..
Suppose first time
Customer has 1 order and that order has 3 line item
customer 1 --- Order 1--- Line Item 1 and Lien Item 2
When I tried to order second order for Same cusomer again with above code
customer 1 --- Order 2--- Line Item 1 and Lien Item 2
But See what happen to my First row it loose reference to Customer
customer 1 --- [b][u]null [/u][/b]--- Line Item 1 and Lien Item 2
[color=red][/color]
When I make Inverse = true in mapping file then it is working fine ..
[/b]