UserStatus.hbm.xml:
UserVO.hbm.xml:
执行session.delete(status);
控制台显示:
Hibernate: select web...
Hibernate: delete from UserStatus where id=?
Hibernate: select web...
去掉cascade="delete",控制台上依旧显示
Hibernate: select web...
Hibernate: delete from UserStatus where id=?
Hibernate: select web...
就是说cascade=all,svae-update,delete任何属性,hibernate2都没反应.从前我也遇到过一次这种情况,莫明其妙自己好使了,弄得我自己现在还胡里胡涂的:http://zhidao.baidu.com/question/43906372.html
Hibernate建表时生成的sql里面关联关系:
alter table Users add index FK4E39DE8CACDCA8F (statId), add constraint FK4E39DE8CACDCA8F foreign key (statId) references UserStatus (id)
我现在想知道怎么解决这个问题,这样我不敢轻易删除父表中的记录,怕子表中包含的级联找不到就跑异常!
另外一个问题也一起问了吧:
如果子表中的某记录的父记录已经被删除,如果找到子表中这些已经废弃的记录?
改成false后,控制面板显示:
Hibernate: select web...
Hibernate: update Users set statId=null where statId=?
Hibernate: delete from UserStatus where id=?
Hibernate: select web...
依旧没有delete掉User
|