Spring JPA存储库 - save()不会在数据库中显示子元素

时间:2016-02-06 08:30:08

标签: spring hibernate jpa

我有两个JPA实体TaskTaskList

Task类是这样的:

@Entity(name = "task")
public class Task implements Serializable {    

    // Id and 3 fields

    @ManyToOne
    @JoinColumn(name="tasklist_id")
    private TaskList parentList;

    // 3 more fields

    // Constructor
    public Task() {}

    //Getters and Setters
}

和TaskList类是这样的:

@Entity(name = "task_list")
public class TaskList implements Serializable {

    // Id and two fields

    @OneToMany(mappedBy="parentList")
    private List<Task> tasks;

    // Constructor
    public TaskList() {}
}

当我这样做时:

TaskList parent_list = repo.findOne(listId);

Task t = new Task();
// set fields for t

parent_list.getTasks().add(t);
repo.save(parent_list);

它不起作用。我得到null Task的{​​{1}}值。

如果我使用t的存储库并使用自己的存储库保存任务,那么它可以正常工作。 我想要做的是同时保存TaskTaskList parent_list,同时调用Task t的{​​{1}}方法和实体类中的关系。

我如何使这项工作?

1 个答案:

答案 0 :(得分:1)

cascade属性添加到oneToMany注释并为新创建的任务设置parentlist应该会有所帮助。