【发布时间】:2019-12-20 07:36:51
【问题描述】:
我有一个实体 - 工作流
@Entity
Workflow {
...
...
@OneToMany(mappedBy = "workflow", cascade = CascadeType.ALL)
List<Tasks> tasks
...
}
另一个任务实体与
@Entity
Task {
...
Status status;
...
@ManyToOne
@JoinColumn(name = "workflow_id")
Workflow workflow
...
}
两个实体都定义了JpaRepository。
WorkflowRepo extends JpaRepository<Workflow, Id>
TaskRepos extends JpaRepository<Task, Id>
现在,更新Task的状态,哪种方法有效?
workFlowRepo.save(workflow) // saving the whole workflow object which internally updates task also
或者
tasRepo.save(task) // saves only task object in repo.
上述两种技术之间是否存在任何主要的性能差异。
即JpaRepoitory.save() 在这些条件下如何工作?
它会在整个事物上运行更新语句还是只更新更改的对象?
【问题讨论】:
标签: java hibernate spring-data-jpa