У меня есть база данных.с отношениями один ко многим.
pet 1--* event.
Я хочу сделать запрос, который выбирает всех домашних животных, у которых было событие в данную дату.(Я использую формат даты SQL)
На данный момент я просто хочу иметь возможность получить все сущности для жестко закодированной даты.
вот ссылка в моей таблице PetEntity
@OneToMany
private List<EventEntity> events = new ArrayList();
и в моем EventEntity
@ManyToOne
PetEntity pet;
Я использую шаблон, в котором я использую репозиторий для обработкислой данных, а затем фасад для обработки любой логики (если есть)
До сих пор я создал такой метод.
public Set<PetEntity> getPetsWithEvents(Date date){
EntityManager em = emf.createEntityManager();
Set<PetEntity> entities = new HashSet<>();
List<EventEntity> eventEntities=
em.createQuery("SELECT e from EventEntity e where e.date =: date", EventEntity.class).setParameter("date", date).getResultList();
for(EventEntity entity: eventEntities){
entities.add(entity.getPet());
}
return entities;
}
}
Есть ли способ просто перевести этот метод виспользуя один запрос, вместо того, чтобы перебирать вентиляцию и находить каждого питомца?