Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠双向多对多级联_Java_Hibernate_Many To Many_Cascade - Fatal编程技术网

Java 休眠双向多对多级联

Java 休眠双向多对多级联,java,hibernate,many-to-many,cascade,Java,Hibernate,Many To Many,Cascade,我是一个hibernate新手,我不完全确定如何获得我正在寻找的级联行为 假设我有两个类A和B,它们之间有双向的多对多映射。A是所有者侧,B是反向侧(我希望我的术语正确) 公共A类 { 私有集bSet=newhashset(); @多个(targetEntity=B.class,cascade=CascadeType.?) 公共集getBSet() { 返回bSet; } } 公共B级 { private Set aSet=new HashSet(); @许多(mappedBy=“bSet”,t

我是一个hibernate新手,我不完全确定如何获得我正在寻找的级联行为

假设我有两个类A和B,它们之间有双向的多对多映射。A是所有者侧,B是反向侧(我希望我的术语正确)

公共A类
{
私有集bSet=newhashset();
@多个(targetEntity=B.class,cascade=CascadeType.?)
公共集getBSet()
{
返回bSet;
}
}
公共B级
{
private Set aSet=new HashSet();
@许多(mappedBy=“bSet”,targetEntity=A.class,cascade=CascadeType.?)
公共集getBSet()
{
返回bSet;
}
}
我想选择正确的级联类型,这样当我删除一个A对象时,包含它的任何B对象都会更新,反之亦然


这里需要哪种级联类型?

级联类型。所有这些操作都会影响其他类。请参见

@Seth使用泛型类型时,不必定义targetEntity
public class A
{
    private Set<B> bSet = new HashSet<B>();

    @ManyToMany(targetEntity=B.class, cascade=CascadeType.?)
    public Set<B> getBSet()
    {
        return bSet;
    }
}

public class B
{
    private Set<A> aSet = new HashSet<A>();

    @ManyToMany(mappedBy="bSet", targetEntity=A.class, cascade=CascadeType.?)
    public Set<B> getBSet()
    {
        return bSet;
    }
}