父表 
 <set   cascade="all"   inverse="true"   lazy="true"   name="itmes"   table="tbl_child">   
  <key   column="pid"/>   
  <one-to-many   class="com.model.Item"/>   
  </set>   字表 
<many-to-one name="device"    column="monitorId"  
class="com.model.Device" insert="true" update="true"  not-null="false" cascade="save-update"/>现在创建一个‘device’实例,包含3个‘item’实例(item1,item2,itme3),session.save(device)保存成功(数据库里面主表一条记录,字表3条记录);
然后可以删除session.delete(device),字表和父表的数据都没有了,这些都正确。
问题来了,我先创建一个‘device’,包含3个‘item’(item1,item2,itme3)保存成功,然后从数据库获取device实例,
把device实例里面的items删掉一个(item1), 添加一个item(new Item()),保存到device实例的items(字表Set)
然后session.update(device),这个时候数据库字表里面有4个item,新增加的一个item在里面,但是item1还在,没有被删除!!