| I have a bi-directional association between Item class and Bid class. (based upon An Item can contain many Bids)
 <!--Mappings are as follows -->
 
 <class name="com.hibernateproject.domain.Item" table="ITEM">
 <id name="iid" type="int" unsaved-value="null">
 <generator class="increment"/>
 </id>
 <property name="itemName" type="string"/>
 <list name="bids" inverse="true" cascade="all" table="BID">
 <key column="item_bid"/>
 <index column="index_column"/>
 <one-to-many class="com.hibernateproject.domain.Bid" />
 </list>
 </class>
 
 <class name="com.hibernateproject.domain.Bid" table="BID">
 <id name="bid" type="int" unsaved-value="null">
 <generator class="increment"/>
 </id>
 <property name="bidValue" type="long" />
 <many-to-one name="item" column="item_bid" class="com.hibernateproject.domain.Item"
 not-null="true"/>
 </class>
 
 <!--Tables are as follows:-->
 
 create table item(iid number, itemName varchar(20));
 create table bid(bid number, bidValue long, item_bid number, index_column number);
 
 <!--Main Class for Saving Item cascading Bid -->
 session.beginTransaction();
 
 Item item = new Item();
 item.setItemName("Item2");
 item.setBids(new ArrayList());
 Bid bid = new Bid(2000);
 bid.setItem(item);
 item.getBids().add(bid);
 session.save(item);
 
 session.getTransaction().commit();
 
 My mapping files are in the classpath. It is not cascading Bid class. Instead, it is executing SQL as follows:
 Hibernate: select max(iid) from ITEM
 Hibernate: insert into ITEM (itemName, iid) values (?, ?)
 Hibernate: update BID set bidValue=?, item_bid=? where bid=?
 
 Please suggest.
 
 
 |