hibernate cascade保存父母和孩子

时间:2013-06-25 11:02:00

标签: java hibernate cascade

我有2节课。父母和孩子。如下:

@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;
    }    

}

&GT;

@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;
    }

}

当我使用session.save(parent)时,它将父和子保存在数据库中但是列中 子表中的父标识符将保持为null。那有什么问题?

2 个答案:

答案 0 :(得分:0)

在子实体上试试这个:

 @ManyToOne(targetEntity = Parent.class)

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

答案 1 :(得分:0)

如果我将OneToMany声明为单向,则效果很好。