zoukankan      html  css  js  c++  java
  • hibernate, cascade

    1,one to one, 单向, 谁加注解才能关联(dubug有时候背lazy影响

    副表角度: 

    查:能查,主表不加注解

    插入:不加级联插入有异常,只有在副表加cascade = CascadeType.Persist,所以只能说明加了oneToOne只能级联插入,

      如果只是查出来再插入,或者知道了知道了主表的情况,就是有了外键的id, 这两次是冲突的,有detach异常

      cascade = CascadeType.Persist需要删掉, 或改成merge, detach (错)还是不能改主表属性,能插入副表(外键自己写),不会有异常

      把他看作一个dao一个session,不同dao查出来的对象不能跨session保存

    delete: 不加不级联,加了cascade = CascadeType.remove级联, merge可

    update:不加不更新主表,加了cascade = CascadeType.ALL级联,merge可

    2,many to one 和上面相同

    删除:cascade = CascadeType.ALL可以删得剩下副表的情况

    3,one to many, many to one, 单单onetomany不知道怎么弄

    只有双关联才能用, 关注在外键

    insertable = false 插入了,但沒有关联

     updatable = false不修改关联的,新插入一条

    插入:不加只插入主表,插入的时候双方都要set,

     删除时候,many方加了cascadeType=merge主表才能删,加了全删(之前不能删是因为外键原因)

    更新:不加只更新自己,加了可以更新副表

    只删除子类:

       one-to-many的行为是强关联,的manyToOne改成cascadeType=merge, orphanRemoval = true也不加, 

        cascadeType=persist会触发少了外键

     

     

     

     删除后修改同理

      onetomany: cascade.persist 不起作用,cascade.merge行

    多对多:

      像两个one to many和在一起,cascable在两个中传播

     

     

    多对多:https://blog.csdn.net/neweastsun/article/details/103216107

    英文版本:https://www.baeldung.com/jpa-many-to-many

    cascade: http://westerly-lzh.github.io/cn/2014/12/JPA-CascadeType-Explaining/

  • 相关阅读:
    JS调试时返回结果有内容却显示数组长度为0或对象内容为空
    python模块学习之six模块
    python学习之ansible api
    python模块学习之collections
    python模块学习之json
    Tomcat闲聊第二话
    HTTP解读
    实用的工具
    mysql数据库记录
    python模块学习之__future__
  • 原文地址:https://www.cnblogs.com/vhyc/p/12232326.html
Copyright © 2011-2022 走看看