我有两个JPA实体Task
和TaskList
。
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
的存储库并使用自己的存储库保存任务,那么它可以正常工作。
我想要做的是同时保存Task
和TaskList parent_list
,同时调用Task t
的{{1}}方法和实体类中的关系。
我如何使这项工作?
答案 0 :(得分:1)
将cascade
属性添加到oneToMany
注释并为新创建的任务设置parentlist
应该会有所帮助。