比如系统中的一个学员,加入到了培训班中,在删除这个学员的时候,通常情况下,要不要同时删除学员在班级中的对应关系,
我现在的处理方法是:在删除学员的时候,提示了一下,"此学员已加入到培训班中,请先删除培训班中的学员"
不知道这样做是不是合理
系统使用了hibernate,学员和班级是多对多的关系,且让培训班作为主控方请大家指教,谢谢!

解决方案 »

  1.   

    我觉得给提示信息容易做得更加产品化,但现在问题是需要批量删除,
    如果有多个学员加入到培训班中了,我想最好能作出以下提示信息"学员张三,李四,王五已加入到网络第三期培训班中,请先删除培训班中的对应学员"但是学员名称在异常信息中找不到(加入培训班的学员不能在外部任意删除,我是通过外键约束来进行限制的),异常中只能找到下列消息:SQL Error: 1451, SQLState: 23000
    Cannot delete or update a parent row: a foreign key constraint fails (`cms/t_class_student`, CONSTRAINT `t_class_student_ibfk_1` FOREIGN KEY (`fk_student_id`) REFERENCES `t_student` (`ID`))
    Could not synchronize database state with session我又不想通过查询整个表去得到学员姓名,我觉得太浪费性能,请教下大家有没有好的办法,谢谢哇。。
      

  2.   

    如果不需要有记录的话,直接配置hibernate的级联关系,使用级联删除。
    如果数据重要,就加入一个状态值,用来表示存在,删除