什么时候用单向关联和双向关联

  • Post author:
  • Post category:其他


对于Hibernate的双向关联和单向关联,我一直都搞不懂,究竟什么时候用双向关联、什么时候用单向关联呢?以前写过一个Hibernate的项目,那时什么都不管,都是直接双向关联,暑假找个项目来练练,突然发现我居然连这个都不清楚,于是便上网去查一查,总结了单向和双向关联的区别就在于,两个类是否需要互相知道,如果类A需要知道类B,而类B也需要知道类A,那么这两个类就应该是双向关联的,而如果只需要类A知道类B,而不需要类B知道类A,那么就是单向关联。

当然,实际上我们一般都是设置的双向关联(用单向的比较少)

还有一个关于关联时的集联(cascade)参数设置:



  • CascadeType.PERSIST

    :如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作


  • CascadeType.MERGE

    :如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作


  • CascadeType.REMOVE

    :当delete()函数被调用时, 触发级联删除(remove)操作


  • CascadeType.REFRESH:

    当refresh()函数被调用时, 触发级联更新(refresh)操作


  • CascadeType.ALL

    :以上全部

    借助文章:

    http://loomz.blog.163.com/blog/static/52111559200792491826947/



版权声明:本文为cj520025原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。