Hibernate 级联添加删除
2012-02-06 16:34
260 查看
问题描述:实体类答案从属于实体类问题。(一对多) /** * 添加 问题 和 选项 * @throws Exception */@Test public void testQu() throws Exception { Session session = HibernateUtil.currentSession(); Transaction tr = session.beginTransaction(); //级联添加 Set options = new HashSet(); Options op1 = new Options(); op1.setName("op1"); options.add(op1); Options op2 = new Options(); op2.setName("op2"); options.add(op2); Options op3 = new Options(); op3.setName("op3"); options.add(op3); Problems problems = new Problems(); problems.setName("problem_1"); problems.setOptions(options); problems.setTdesc("tdesc"); problems.setType(1); Long ll = (Long)session.save(problems); System.out.println(ll); tr.commit(); mysql> select * from options ; +----+------------+--------+------+---------+ | id | problemsid | answer | name | visible | +----+------------+--------+------+---------+ | 1 | 1 | NULL | op2 | 0 | | 2 | 1 | NULL | op3 | 0 | | 3 | 1 | NULL | op1 | 0 | +----+------------+--------+------+---------+ 3 rows in set (0.00 sec) mysql> select * from problems ; +----+-----------+------+-------+------------+---------+ | id | name | type | tdesc | questionid | visible | +----+-----------+------+-------+------------+---------+ | 1 | problem_1 | 1 | tdesc | NULL | 0 | +----+-----------+------+-------+------------+---------+ 1 row in set (0.00 sec) //级联删除 tr.begin(); session.delete( session.get(Problems.class,ll) ); tr.commit(); mysql> select * from problems ; Empty set (0.00 sec) mysql> select * from options ; Empty set (0.00 sec) HibernateUtil.closeSession(); } Options类 ....... /** * @hibernate.many-to-one * cascade = "save-update" * column = "Problemsid" * class = "com.zhongqi.domain.Problems" * @return */ public Problems getProblems() { return problems; } ............ Problems 类 /** * @hibernate.set * cascade="all-delete-orphan" * inverse = "false" * lazy = "true" * @hibernate.collection-key column = "problemsid" * @hibernate.collection-one-to-many class = "com.zhongqi.domain.Options" * @return */ public Set getOptions() { return options; }
相关文章推荐
- Hibernate 级联添加删除
- Hibernate 一对多级联更新(更新,删除多方数据)的错误解决
- Hibernate一对多关联映射的配置及其级联删除问题
- hibernate - 解决表结构外键限定为非空,级联保存和级联删除抛异常的问题
- Hibernate4 注解配置实现一对多级联删除
- 对Sql Server中的表添加级联更新和级联删除的几种方法
- hibernate级联删除错误
- 再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN
- Hibernate - 多对多级联删除的问题
- mysql 新增字段 添加字段 删除字段 修改字段 级联删除 级联更新 等
- hibernate 级联删除
- hibernate 级联删除时候的两种情况 之(一) 删除主表、关系表跟从一并都删除了
- hibernate 延迟加载 级联 删除
- hibernate 级联删除报更新失败的问题
- Hibernate 级联删除
- hibernate与oracle级联添加和加载策略
- hibernate 级联删除策略(注解版、数据库版)
- Hibernate 级联删除个人备忘
- hibernate多对一映射配置级联删除
- Hibernate中单向一对多删除级联数据问题