版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

暂未使用

代码


概述


修改代码架构, 使用Mapstruct和Lombok解决setter(),getter()以及查询结果到dto的转换
[Mapstruct文档](http://https://mapstruct.org/documentation/1.5/reference/html/#Preface "Mapstruct文档") [Lombok简单介绍](https://cloud.tencent.com/developer/article/1698734 "Lombok简单介绍")

...

与其他服务的关系
允许服务层之间相互依赖,

仓库层



总体代码
不应出现业务逻辑

注意点

更新聚合时会导致全量更新, 以后可以通过快照实现

注释
在方法的注释中应该描述输入和输出的数据, 接口的功能

...


区分实体与值对象的关键在于是否有状态
实体必须包含主键


主键接口import java.io.Serializable;

Image Addedpublic interface Id extends Serializable {
    long serialVersionUID = 1L;
}



实体接口public interface Entity<id extends Id>{    id getId();
}

Image Added



聚合接口

Image Added

仓库



仓库接口
// 其中的实体表示仓库属于哪个领域, 仓库能查询的字段应该被包含在实体内
public interface Repo<entity extends Entity<id>, id extends Id> {
    // 常用方法
    entity findById(id id);    entity save(entity entity);
}
Image Added

SQL



所有列表SQL都需要倒序