gaowenming 发表于 2013-1-26 15:56:09

Hibernate级联操作Cascade

所在cascade,就是说我在更新一方的时候,可以根据这一方对象之间的关联关系,去对被关联方进行持久化,比如说Team和Student之间的1对多关系,使用cascade,可以在team方维护其持有的student集合时,自动对其新增,修改,删除的student对象进行持久化,而没必要显示的进行session.save(student)操作
<!-- 一对多关联,一种类别对应多个商品-->      <set name="product" cascade="save-update" >      <key column="PRODUCTTYPEID" foreign-key="id"></key>      <one-to-many class="com.pojo.Product" />      </set>
添加商品:
public static void addPro() {Session session = HibernateManager.openSession();//获取类型Category c = (Category) session.load(Category.class, new Integer(1));//商品1Product p = new Product();p.setProductname("摩托罗拉v8");p.setRemark("很好的手机");//商品2Product p1 = new Product();p1.setProductname("摩托罗拉A1200");p1.setRemark("非常好的手机");//一对多关联Set<Product> set = c.getProduct() ;set.add(p) ;set.add(p1) ;//直接保存商品类别,商品自动级联就保存session.save(c) ;try {HibernateManager.closeSession();} catch (Exception e) {e.printStackTrace();HibernateManager.rollbackTransaction();}}
页: [1]
查看完整版本: Hibernate级联操作Cascade