hibernate cascade to save parent and child

不羁岁月 提交于 2019-12-13 18:39:08

问题


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?


回答1:


try this on child Entity:

 @ManyToOne(targetEntity = Parent.class)

 @JoinColumn(name = "parent", nullable = false)



回答2:


If I declare OneToMany as Unidirectional, it works well.



来源:https://stackoverflow.com/questions/17295597/hibernate-cascade-to-save-parent-and-child

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!