关于事务,困惑我好久了,求解答! 本帖最后由 a107494639 于 2011-04-14 16:06:19 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Hibernate的级联删除:在Hibernate属性文件中的set节点里面:添加cascade="delete"在删除之前先把set集合添加完毕、然后在删除对象、这样Hibernate就会自动给你级联删除! 我没用hibernate哦,如果只是用jdbc就没有办法了吗? 在获取连接时conn.setAutoCommit(false);关闭自动提交事务try{删除老师操作;删除学生操作;//提交事务,此时老师和学生都将被删除conn.commit();}catch(Exception e){ conn.rollback();//如果出现异常则回滚事务} 如果不用hibernate.这样的操作我会写成一个方法 deleteAllByTeacher(teacher) .然后在里面附带删除students. 可是这个方法不妥,因为这样就把业务逻辑层的代码写在DAO层里了。不过,我想来想去也只能是这样子。 dao.delete(teacher)这个方法里面添加删除学生的操作这个不涉及到业务逻辑啊学生是因老师而存在..老师不存在了学生当然就不会存在了所以删除老师必须删除学生,这是一个整体操作楼主理清他们之间的关系就明白了 正则表达式替换html标签? 怎么jsp request的数据传不过去呢 JFREECHART柱状图数据排序 关于自动交卷的实现? 十万火急 jsp中java.lang.ClassCastException: java.lang.Integer是怎么回事? 怎么把中文文件名编码成%b2%e2%ca%d的格式 4-5折买3本JAVA好书?!(武汉) 请问各位什么JSP编辑工具比较好用。最好能编辑JAVASCRIPT的。 如何在win me下配置jsp编译环境 struts.xml无法解析struts-2.0.dtd hibernate hql 多对多关联查询求助
添加cascade="delete"
在删除之前先把set集合添加完毕、
然后在删除对象、这样Hibernate就会自动给你级联删除!
try{
删除老师操作;
删除学生操作;//提交事务,此时老师和学生都将被删除
conn.commit();
}catch(Exception e){
conn.rollback();//如果出现异常则回滚事务
}
可是这个方法不妥,因为这样就把业务逻辑层的代码写在DAO层里了。
不过,我想来想去也只能是这样子。
dao.delete(teacher)这个方法里面添加删除学生的操作这个不涉及到业务逻辑啊学生是因老师而存在..老师不存在了学生当然就不会存在了所以删除老师必须删除学生,这是一个整体操作楼主理清他们之间的关系就明白了