休眠级联来拯救父母和孩子 [英] hibernate cascade to save parent and child
本文介绍了休眠级联来拯救父母和孩子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
@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屋!
查看全文