У меня есть три объекта: Фабрика, Орден и Предмет в отношениях один ко многим, как это:
У Фабрики много заказов
В ордере много элементов
Мне нужно получитьобщее количество / количество всех товаров для всех заказов, зарегистрированных на выбранной фабрике.Я сделал это так ...
Factory factory = factoryService.findOne(factoryId);
List<Order> orders = factory.getOrders();
int count=0;
for(Order o: orders){
if (o.isDeleted()!=true)
int numberOfItems = o.getItems().size();
count+= numberOfItems;
}
}
Я сделал то же самое с «мягким» удалением - когда я помечал Фабрику как удаленную, мне нужно было найти все Заказы и связанные с ними предметы для выбранной Фабрики и отметить их как удаленные.хорошо.
Все работает нормально, но у меня есть только тестовые записи в базе данных, и я не уверен, что это способ сделать это, если у вас большая база данных с большим количеством записей ... Так что мне было интересноЕсть какой-то элегантный и более эффективный способ сделать это.
Я работаю с Java Spring Boot и PostgreSQL