У меня есть Entity Workflow, который имеет отношение @OneToMany с классом ValidationResults.Это извлечение Lazy, но иногда я хотел бы получить все рабочие процессы и позаботиться о том, чтобы они обращались к ValidationResults.В этот момент я хочу, чтобы jpa ждала все данные, а не запрашивала каждый раз, когда я получаю доступ к ValidationResults.Я использую springDataJpa, как это сделать, есть ли способ сделать это с @Query?
Я пытаюсь добиться чего-то подобного, но я не знаю, как
//here all the workflows has corresponding data eagerly
List<Workflow> workflows = workflowService.getAllWorkflowsWithValidationResultsEagerly();
//here validationResults ref is lazy, when I try to access it it does query
List<Workflow> workflows = workflowService.getAllWorkflowsUsually();
Здесьмои сущности.
@Entity
@Table(name = "workflow")
public class Workflow {
..............
@OneToMany(fetch = FetchType.LAZY, mappedBy = "workflow", cascade = CascadeType.ALL)
private Set<ValidationResults> validationResultsSet = new HashSet<>();
public Set<ValidationResults> getValidationResultsSet(){return this.validationResultsSet;}
...............
}
И класс ValidationResult
@Entity
@Table(name = "validation_results")
public class ValidationResults {
...
@ManyToOne
@JoinColumn(name = "workflow_id", insertable = false, updatable = false)
private Workflow workflow;
....
}