删除多对一关系 - Hibernate [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除多对一关系 - Hibernate [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我有2个班,A班有以下关系:

@OneToMany(mappedBy = "aaa", cascade = CascadeType.ALL, orphanRemoval = true)
private List<B> bbb = new ArrayList<B>();

和B级:

@ManyToOne
@JoinColumn(name = "aaa", nullable = false)
private A aaa;

但是,当我尝试删除B类实体时,没有任何反应。我没有收到任何错误,也没有执行SQL语句。

B b = em.find(B.class, id)
em.remove(b);

我在这里显然做错了什么?

答案

你可以用它,

@OneToMany(mappedBy = "aaa",cascade = CascadeType.PERSIST, fetch = FetchType.EAGER, orphanRemoval=true)
private List<B> bbbb;

在这里,您可以在bean类中创建List<B>的Setter和Getter方法。

@ManyToOne(fetch=FetchType.EAGER,optional=false)
    @JoinColumn(name="aaa")
    private A aaa;

以上是关于删除多对一关系 - Hibernate [重复]的主要内容,如果未能解决你的问题,请参考以下文章

JPA/Hibernate - 多态多对一关系设计

关联映射级联操作关系维护 ---- Hibernate之一对多|多对一关系

休眠:多对一关系失败

如何使用hibernate逆向工程排除多对一关系?

Hibernate多表关系配置——多对一关系映射

Hibernate中一对多和多对一关系