相关疑难解决方法(0)

JPA:单向多对一和级联删除

假设我有如下的单向 @ManyToOne关系:

@Entity
public class Parent implements Serializable {

    @Id
    @GeneratedValue
    private long id;
}

@Entity
public class Child implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    @ManyToOne
    @JoinColumn
    private Parent parent;  
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个父P和子C 1 ... C n引用回P,那么在JPA中有一个干净漂亮的方法可以在删除P时自动删除子C 1 ... C n(即entityManager.remove(P))?

我正在寻找的是类似于ON DELETE CASCADESQL 的功能.

java jpa many-to-one jpa-2.0

87
推荐指数
3
解决办法
9万
查看次数

@ManyToOne JPA关联和级联...不确定如果我删除一个对象会发生什么

我还不太清楚cascade在删除操作中的工作方式.我想知道如果我有这个会发生什么:

class myBean{

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
        public Cliente getClienteDiAppartenenza() {
            return clienteDiAppartenenza;
        }

}


class Cliente{
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
    public List<myBean> getMyBeans() {
        return myBeans;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我用这个属性删除myBean,我不确定链接的Cliente是否也会被删除(很多人都很奇怪)或Cliente中的集合将被更新,myBean的实例被删除,然后保存.

会发生什么??Hibernato的文档对此并不十分清楚......

java hibernate jpa associations

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

jpa ×2

associations ×1

hibernate ×1

jpa-2.0 ×1

many-to-one ×1