【发布时间】:2020-03-16 18:58:23
【问题描述】:
想要添加一个子对象而不获取它但得到 LazyInitializationException。 我的孩子是拥抱列表,所以不想为了添加一个孩子对象而获取所有孩子。
@Entity
public class JobRunId{
@OneToMany(mappedBy = "jobRun", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<JobStep> jobSteps = new ArrayList<>();
public void addStep(JobStep jobStep) {
if (jobStep != null) {
jobStep.setJobRun(this);
this.jobSteps.add(jobStep);// here getting LazyInitializationException
}
}
}
service class
jobRun = repository.findById(id);
//Dont want to do hibernate.initialize here as want to avoid fetch all
child records
JobStep jobStep = new JobStep();
//some jobStep status
jobRun.addStep(jobStep);//adding one step here to jobRun.getting error
有没有办法只添加一个子记录而不获取所有子记录。
【问题讨论】:
标签: java hibernate spring-data