【发布时间】:2021-12-19 08:37:09
【问题描述】:
我假设如果您使用的是 DTO 和 DAO,则不需要实体,至少我以这种方式看到的示例是这样。或者在这种情况下是否有实体是可选的?
public interface CustomerResource {
@GET
@Path("/getCustomerListByUserID/{userID}")
Response getCustomerListByUserID(@PathParam("userID") String userID);
@DELETE
@Path("/deleteCustomer/{customerID}")
Response deleteCustomer(@PathParam("customerID") int customerID);
@POST
@Path("/updateCustomer")
Response updateCustomer(CustomerDTO customer);
}
public class CustomerResourceImpl implements CustomerResource{
@Override
public Response deleteCustomer(int customerID) {
internalService.deleteCustomer(customerID);
}
@Override
public Response getCustomerListByUserID(String userID) {
internalService.getCustomerListByUserID(customerID);
}
@Override
public Response updateCustomer(CustomerDTO customer) {
internalService.updateCustomer(customer);
}
}
public interface CustomerDAO extends BaseDAO<CustomerDTO> {
List<CustomerDTO> getCustomerListByUserID(String userID);
void deleteCustomer(Integer customerID);
void updateCustomer(CustomerDTO customer);
}
而 internalService 直接调用 CustomerDAO
这个结构有什么问题吗,怎样才能更好,是否需要Customer实体?
非常感谢! 祝大家成功!
【问题讨论】:
-
这些术语在 JPA 中具有特定含义:Entities or DTOs – When should you use which projection?
-
@jaco0646 这是对我问题的更接近的答案,你能把它贴出来让我接受吗。
标签: java rest design-patterns dao dto