我想问下,单向的many-to-one为什么不能实现级联删除?
例如,我有两张表,class表和student表,student对class是多对一的关系 。
就是说我删除student的相应数据,class不应该删除相应的数据,但我一旦删除了class,就应该把所关联的student对象都一
并删除掉。
在单向的'many-to-one'里实现不了(为什么?),但这样一来,cascade设置为all或者delete似乎就没有什么意义了!!!
但是设置成
one-to-many却能级联删除!我实在不知道是什么原因。这是其一。其二,hibernate中能设置的关系只有many-to-one,
one-to-one,one-to-many,mant-to-many等。他们都是两个表之间的关系,如果有三个表,第一个表和第二个表是一对多,
第二个表和第三个表是多对对,那么配置文件该怎么配啊。这三个表能实现级联删除吗???如果是4个,5个,6个表表之
间存在关系,那么这多个表之间能实现级联删除吗???换一种方案,如果不使用hibernate,要实现多表的级联删除,我
只到用外连接能实现。这两种方案哪个好啊?我刚开始学习hibernate,希望大哥们能帮助小弟解答心中之迷惑。不胜感激!
例如,我有两张表,class表和student表,student对class是多对一的关系 。
就是说我删除student的相应数据,class不应该删除相应的数据,但我一旦删除了class,就应该把所关联的student对象都一
并删除掉。
在单向的'many-to-one'里实现不了(为什么?),但这样一来,cascade设置为all或者delete似乎就没有什么意义了!!!
但是设置成
one-to-many却能级联删除!我实在不知道是什么原因。这是其一。其二,hibernate中能设置的关系只有many-to-one,
one-to-one,one-to-many,mant-to-many等。他们都是两个表之间的关系,如果有三个表,第一个表和第二个表是一对多,
第二个表和第三个表是多对对,那么配置文件该怎么配啊。这三个表能实现级联删除吗???如果是4个,5个,6个表表之
间存在关系,那么这多个表之间能实现级联删除吗???换一种方案,如果不使用hibernate,要实现多表的级联删除,我
只到用外连接能实现。这两种方案哪个好啊?我刚开始学习hibernate,希望大哥们能帮助小弟解答心中之迷惑。不胜感激!
============
但我一旦删除了class,就应该把所关联的student对象都一并删除掉。
未必啊这个班不存在了不是说这个班的学生都死光了哈。有可能转其他班。。