休眠级联来拯救父母和孩子 [英] hibernate cascade to save parent and child

查看:116
本文介绍了休眠级联来拯救父母和孩子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2班。父母和孩子。如下所示:

  @Entity 
@Table(name =parent)
public class Parent implements可串行化{
私有字符串名称;
私人列表< Child>孩子的;

@OneToMany(mappedBy =parent)
@Cascade({CascadeType.SAVE_UPDATE,CascadeType.DELETE})
public List< Child> getChilds(){
返回孩子;

@Id
@Column(name =parent_name)
public String getName(){
return name;
}

}

>

  @Entity 
@Table(name =child)
public class Child实现Serializable {

@JoinColumn(name =parent_name)
私人父母;

public Parent getParent(){
return parent;
}

public void setParent(父母){
this.parent = parent;
}

}

当我使用session.save父级)将父级和子级保存在数据库中,但子级表中
父级标识符的列将保留为空。那么问题是什么?

解决方案

如果我将OneToMany声明为Unidirectional,那么效果很好。

i have 2 class. Parent and child. as follows:

@Entity
@Table(name = "parent")
public class Parent implements Serializable {
    private String name;
    private List<Child> childs;

    @OneToMany(mappedBy="parent")
    @Cascade({CascadeType.SAVE_UPDATE, CascadeType.DELETE})
    public List<Child> getChilds() {
        return childs;
    }
    @Id
    @Column(name="parent_name")
    public String getName() {
        return name;
    }    

}

>

@Entity
@Table(name = "child")
public class Child implements Serializable {

    @JoinColumn(name="parent_name")
    private Parent parent;

    public Parent getParent() {
        return parent;
    }

    public void setParent(Parent parent) {
        this.parent = parent;
    }

}

when i use session.save(parent) it saves parent and child in the database but the column of parent identifier in child table will remain null. so what is the problem?

解决方案

If I declare OneToMany as Unidirectional, it works well.

这篇关于休眠级联来拯救父母和孩子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆