数据库中建立主外键关系时,已经建立了级联删除
那hibernate配置文件里,如果没有cascade属性,级联还起作用吗?
如果建立主外键关系,没建立级联删除
那hibernate配置文件里要是有cascade,级联能起作用吗?

解决方案 »

  1.   

    第一个问题,没有cascade属性,就我现在用的oracle来看,是会报错的
    第二个问题,没有建立级联删除,有cascade,对oracle来说是会起作用的
      

  2.   

    cascade这个属性是一种依赖关系的操作范围。
    根据cascade的设置对数据库进行级联操作。
    其实根本的问题在于依赖关系的建立,如果已经存在many-to-one之类的标签。
    那么关系已经建立,既然存在这样的关系那么hibernate就会把操作留给数据库来做。
    但是在你操作的时候肯定是要有个级联的范围。这个可以自己仔细体会。
    呵呵,以上纯属个人见解。希望对你有所帮助。
      

  3.   

    又一次做过一个测试,也是朋友无意中问起的测试数据库 sqlserver2000 Hibernate3.x你说的2种情况配置其一就可以数据库设置了级联删除,那么Hibernate的配置文件就不用配置级联了如果在Hibernate的配置文件中配置了,数据库可以没有级联属性。oracle哪天我也试试,看报什么错误。