繁体   English   中英

Hibernate单向@ManyToMany:删除没有约束冲突吗?

[英]Hibernate unidirectional @ManyToMany : delete without constraint violations?

我有A班:

@Entity
public class A {
  ...
  @ManyToMany
  private Set<Ref> refs = new HashSet<Ref>();
  ...
}

和类Ref:

@Entity
public class Ref {
 // no link to A
}

我想删除A和A_Ref但不删除Ref,但是我得到了org.hibernate.exception.ConstraintViolationException

有没有简单的方法可以做到这一点,还是我应该明确创建A_Ref类?

谢谢

编辑:我试图直接在hql中删除我的A列表。 我这样做的目的(打破关系),它的工作(级联+孤儿删除)。

我不确定,如果我做对了,但是据我了解,我的第一个猜测是,您没有使用所有必要的注释来确保休眠状态将自动自动删除Ref中的必要引用。

在manyToMany关系中,可以使用joinTables和cascadetypes来确保休眠知道自己在哪里删除所有必要的关系,而无需为其创建自己的domainObject。

有很多不错的指南来介绍如何进行管理。 乍看之下mkyong的指南看起来不错。 注意:他注释了getter而不是变量声明! (这只是口味问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM