1

私は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;
    }    

}

>

@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 のままになります。それで、問題は何ですか?

4

2 に答える 2

0

子エンティティでこれを試してください:

 @ManyToOne(targetEntity = Parent.class)

 @JoinColumn(name = "parent", nullable = false)
于 2013-06-25T12:13:24.490 に答える