大家好,一直潜水,今天发个贴,问个问题。hibernate many to one删除问题。老师:学生是1:m,增查都已实现,现在我想,删除一个学生不会删除老师,而且删除老师让关联学生的fk为空。用的oracle和myeclipse。谢谢大家。

解决方案 »

  1.   

    学生和miss的ID是否为自增列?
      

  2.   

    many 和  one 各自删各自的。删除many时,不会影响到one
    删除one是,可以不删除many(设置为null,取决于数据库的设计)
      

  3.   


    oracle 没有自增吧?  有序列
      

  4.   

    1删除学生不删除老师
    可以直接对学生进行删除,不会影响到老师的,因为老师是主表
    2删除老师让关联学生的fk为空
    不可以直接对老师进行删除,因为两张表有主外键关联,需要先解除和老师有关联的学生记录,按照楼主的意思,
    并不能够删除学生,即是update操作,所以可以直接用query接口,hql类似为update Student set techerId = null where techerId = :techerId ,然后执行executeUpdate方法来更新学生表,这样设置外键为null后即解除了主外键关联关系,然后在删除老师就OK了
      

  5.   

    肯定不会啊 ,manytoone  ,删除多个一方并不会影响一的一方。。
    而且 如果是 onetomany ,删除一的一方会级联删除 多的一方也只仅仅在 配置级联cascade = "all或者delete"才会有效 ,没有 楼上这么麻烦吧