У меня есть два постоянных типа (Provider и Процедурный код), которые имеют отношение многие ко многим.Я хочу найти все экземпляры провайдера, чей набор процедурных кодов содержит один или несколько процедурных кодов в списке.
Я пытался выполнить:
SELECT c.providers FROM ProcedureCode c WHERE c IN :procedures
В результате должен быть набор провайдеров, чьиПроцедура содержит все указанные процедуры.Но это возвращает всех провайдеров, которые предоставляют хотя бы один элемент в: процедуры.
Моими объектами модели являются:
public class Provider implements GeoLocation, Serializable {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "ProviderProcedures", joinColumns = @JoinColumn(name = "ProviderId"), inverseJoinColumns = @JoinColumn(name = "ProcedureId"))
private Set<ProcedureCode> procedures = new HashSet<>();
}
public class ProcedureCode implements Serializable {
@ManyToMany(mappedBy = "procedures", fetch = FetchType.LAZY)
private Set<Provider> providers = new HashSet<>();
}