Наша команда использует Spring Boot 2 с sql2o в качестве библиотеки БД. При вставке в наши службы для тривиальных методов мы просто вызываем репозиторий и возвращаем модель. Например, если у меня есть таблица Поставщика, я имел в службе
@Override
public List<Supplier> findAll() {
return supplierRepository.findAll();
}
Теперь, поскольку в наших контроллерах нам нужно 99% в случаях, когда другие объекты соотносятся с моделью, я бы создал составной класс, содержащий модель и другие модели. Например:
@Override
public List<UnknownName> findAll() {
List<Supplier> suppliers = supplierRepository.findAll();
List<UnknownName> res = new ArrayList<>();
UnknownName unknownName;
LegalOffice legalOffice;
if (suppliers != null) {
for (Supplier supplier in suppliers) {
unknownName = new UnknownName();
unknownName.setSupplier(supplier);
legalOffice = legalOfficeService.findByIdlegaloffice(supplier.getLegalofficeid);
unknownName.setLegalOffice(legalOffice);
res.add(unknownName);
}
}
return res;
}
Каким должно быть имя класса UnknownName?
PS: я упростил код для лучшей возможности восстановления, но я использую универсальную функцию enrich (), которую я вызываю для всех методов поиска, поэтому мне не нужно дублировать код.