我们的团队正在使用 Spring Boot 2 sql2o作为数据库库。在我们服务的粘贴中,对于简单的方法,我们只需调用存储库并返回模型即可。例如,如果我有一个供应商表,我在服务中就有
@Override
public List<Supplier> findAll() {
return supplierRepository.findAll();
}
现在,由于在我们的 Controller 中,我们需要 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:我简化了代码以获得更好的可重复性,但我使用了为所有 find 方法调用的通用丰富()函数,因此我不必欺骗代码。
最佳答案
我会推荐 SupplierDto
或 SupplierLegalOfficeDto
。 DTO 代表数据传输对象,通常用于丰富模型 ( more here )。
此外,您不应该检查 suppliers
是否为空,因为存储库始终返回非空列表。
关于java - 如何命名这样的复合类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55771216/