如果使用Java(Spring Boot),请设想服务中有一种方法: updateCompanyName
在Spring Boot应用程序的SERVICE LAYER中,哪个是更惯用的方法签名:
......
updateCompanyName(Company company,String newName);
-或-
updateCompanyName(长公司ID,字符串newName);
......
换句话说,控制器应该从DAO混合对象并将休眠的实体传递到服务层,还是服务层应该期待主键并从休眠中混合实体?
答案 0 :(得分:1)
通常,在分层体系结构中,控制器(来自表示层)从输入(即请求正文)中提取数据(即companyID),并通过传递此数据来调用应用程序服务。
应用程序服务从存储库加载聚合,在其上调用适当的方法,然后将聚合持久化回存储库。此应用程序服务显示很少,没有业务逻辑(属于聚合)。
因此,对于您而言,答案是:控制器在应用程序服务上调用updateCompanyName(Long companyID, String newName);
。