熟悉hibernate的进

熟悉hibernate的进,在线等
今天遇到一个hibernate级联操作的问题,由于对其不是特别熟悉,但是今天一定解决,无奈之下到这里需求帮助,先谢谢大家了。
有三个表:project,role_prject(中间表),role
三个表的结构我就没列出来了,我大概的说一下:
project有两个要注意的字段:id(主键)和p_id。在project中如果B记录的字段p_id的值是A记录的字段id的值,那么B记录就是A记录的儿子,如果C记录的字段p_id的值等于B记录的字段id的值,则C记录是B记录的儿子,是A记录的孙子。(语句生硬,没办法!)
role_prject(中间表)就两个字段:project_id和role_id为project和role的外键。
role表就没什么了。
现在我说一下我的问题:我在删除C记录时,C记录可以被删除role_prject里面关联的记录也会被删除,但是现在的问题是:我在删除B记录时,B记录会被删除,role_prject里面关联的记录也会被删除,但是它的儿子C记录就没有被删除。删除A记录也是一样,能删除A记录,但是他的儿子和孙子不能删除。

------解决方案--------------------
好久没用过h了,等熟悉的巴
------解决方案--------------------
没看完...进来说下

hebernate 级联的时候 一定要用 反转,这样就有利于级联添加和删除
------解决方案--------------------
不理解诶啊……
------解决方案--------------------
貌似多对多关联映射!
------解决方案--------------------
探讨
55555

------解决方案--------------------
在主控方配置集合节点属性的时候加个属性cascade=all
只配置过xml形式的 注释不知道配