Hibernate学习(三)一对多数据的保存
2016-10-16 21:32
197 查看
保存习惯代码
在这个保存中需要注意的事项:
1.如果按照这个保存的步骤的话:
需要在
<set name="orders" cascade="all-delete-orphan">
在set集合中加上级联操作
不然会出现如下报错:
object references an unsaved transient instance - save the transient instance before flushing: cn.lonecloud.domain.Order
下面是级联属性的属性值:
Cascade 属性值:
none:在保存、删除修改对象的时候,不考虑其附属物的操作
save-update:在保存、更新当前对象时,级联保存、更新附属物。
delete:在删除当前对象时,级联删除附属物。
all: 包含save-update和delete的操作 当在一对多关系的时候remove一个对象的时候,那么他将会更新附属物的属性,并不会删除附属物
delete-orphan:删除和当前对象解除关系的附属对象。
@Test public void saveTwoTableTest(){ Transaction transaction = null; try { transaction = session.beginTransaction();//创建session Customer customer=new Customer(); customer.setCustomerName("123"); //在Customer中设置了一对多关系 Order order=new Order(); order.setOrderNumber("100"); customer.getOrders().add(order); session.save(customer);//保存操作 transaction.commit();//提交事务 } catch (HibernateException e) { if (transaction!=null) { transaction.rollback();//事务回滚 } e.printStackTrace(); }finally{ if (session!=null&&session.isOpen()) { session.close();//关闭session } } }
在这个保存中需要注意的事项:
1.如果按照这个保存的步骤的话:
需要在
<set name="orders" cascade="all-delete-orphan">
在set集合中加上级联操作
不然会出现如下报错:
object references an unsaved transient instance - save the transient instance before flushing: cn.lonecloud.domain.Order
下面是级联属性的属性值:
Cascade 属性值:
none:在保存、删除修改对象的时候,不考虑其附属物的操作
save-update:在保存、更新当前对象时,级联保存、更新附属物。
delete:在删除当前对象时,级联删除附属物。
all: 包含save-update和delete的操作 当在一对多关系的时候remove一个对象的时候,那么他将会更新附属物的属性,并不会删除附属物
delete-orphan:删除和当前对象解除关系的附属对象。
相关文章推荐
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate学习-6-集合映射保存和集合数据获取案例
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- hibernate学习过程问题(1)--通过代码保存数据时,数据库始终只有一条数据
- Hibernate 一对多 保存和修改数据
- Hibernate的学习之路二十(一对多的双向关联保存数据)
- cakephp学习之Model(4)--------保存数据
- MyEclipse生成的Spring+Hibernate无法保存数据问题的解决方法