Here is the mapping:
Code:
<hibernate-mapping>
<class name="com.cri.db.hibernate.LineItemImpl" table="line_items">
<id name="lineItemId" column="line_item_id" type="java.lang.Integer">
<generator class="native"/>
</id>
<property column="comments" length="500" name="comments" type="java.lang.String"/>
<property column="quantity" length="10" name="quantity" type="java.lang.Double"/>
<property column="create_date" length="16" name="createDate" type="java.util.Date"/>
<!-- The line item drives the inventory, so we need to be able to save the changes -->
<many-to-one column="product_id" name="product" class="com.cri.db.hibernate.Product" not-null="true" fetch="join"/>
<many-to-one column="event_id" name="event" class="com.cri.db.hibernate.Event" not-null="true" fetch="join"/>
<set name="providers" table="line_items_providers_map" fetch="join">
<key column="line_item_id"/>
<many-to-many class="com.cri.db.hibernate.Provider" column="provider_id"/>
</set>
</class>
</hibernate-mapping>
..all I am doing is removing a "provider" from the set.
Does it matter that I am calling session.merge? Should I use an event listener for that session method instead?
Matt