我们的团队正在使用带有sql2o作为数据库库的Spring Boot 2。在我们服务的粘贴中,对于简单方法,我们只需调用存储库并返回模型。例如,如果我有一个Supplier表,那么我已经在服务中
@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:我简化了代码以提高可重复性,但是我使用了一个通用的rich()函数,该函数调用所有find方法,因此不必重复编写代码。
答案 0 :(得分:1)
我建议使用Package oracle-java8-installer is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'oracle-java8-installer' has no installation candidate
或SupplierDto
。 DTO代表数据传输对象,通常用于丰富的模型(more here)。
另外,您不应该检查SupplierLegalOfficeDto
是否为null,因为存储库总是返回一个非null的列表。
答案 1 :(得分:0)
最后,我在Domain-driven design后面加上了后缀Aggregator
。