ABP源码分析十四:Entity的设计

ABP源码分析十四:Entity的设计

IEntity<TPrimaryKey>: 封装了PrimaryKey:Id,这是一个泛型类型

IEntity: 封装了PrimaryKey:Id,这是一个int类型

Entity<TPrimaryKey> :支持主键是泛型类型的Entity

Entity:支持主键是int类型的Entity

ABP源码分析十四:Entity的设计

 

IHasCreationTime: 封装了CreationTime

ICreationAudited: 封装了CreatorUserId,这个是long类型

CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId

CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId

ICreationAudited<TUser> :封装了泛型类型的creator

CreationAuditedEntity<TPrimaryKey, TUser> :  支持主键是泛型类型,并且封装了泛型类型的creator的Entity

ABP源码分析十四:Entity的设计

 

ISoftDelete:封装了软删除的标志IsDeleted

IHasDeletionTime:封装了DeletionTime

IDeletionAudited:封装了DeleterUserId,这个是long类型

IDeletionAudited: 封装了泛型类型的DeleterUser

 ABP源码分析十四:Entity的设计

 

IHasModificationTime:封装了LastModificationTime

IModificationAudited: 封装了LastModifierUserId,这个是long类型

IModificationAudited<TUser> :  封装了泛型类型的LastModifierUser

 ABP源码分析十四:Entity的设计

 

IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。

 ABP源码分析十四:Entity的设计

 

AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。

ABP源码分析十四:Entity的设计

 

 

IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity

 ABP源码分析十四:Entity的设计

 

FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。

ABP源码分析十四:Entity的设计

 

以下是最终的类层次结构。

ABP源码分析十四:Entity的设计

 

返回ABP源码分析系列文章目录

转载于:https://www.cnblogs.com/1zhk/p/5329393.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 小强面试记

    小强面试记

    2021年5月25日
    146
  • Pytest(11)allure报告「建议收藏」

    Pytest(11)allure报告「建议收藏」前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月29日
    9
  • 什么是pkl文件_桌面显示不出来怎么办是什么问题

    什么是pkl文件_桌面显示不出来怎么办是什么问题对于.pkl文件,我是在接触SMPL模型的时候用到的。SMPL的开源项目包里,有model文件夹,打开有两个.pkl文件。然后,找到了一个说的相对比较详细的网址https://jingyan.baidu.com/article/59a015e36ef251f794886598.html一、个人理解python中有一种存储方式,可以存储为.pkl文件。 该存储方式,可以将python项目过程中用到的一些暂时变量、或者需要提取、暂存的字符串、列表、字典等数据保存起来。 保存方式就是保存到创建的.p

    2025年10月13日
    4
  • 合成控制法原理

    合成控制法原理合成控制法反事实思维是**鲁宾反事实分析框架(Rubin’scounterfactualframework)**下进行思考,本质思想是为处理组(treatedgroup)找到一个合适的控制组(controlgroup)。合成控制法的思想是对于处理组,选择与处理组具有相似特征且未受到政策干预的控制组。通过对若干个控制区进行线性组合,构造一个近似处理组的合成控制区域(syntheticcontrolregion).对于未受政策影响的潜在控制组(donorpool),通过权重向量给控制组内每

    2022年6月12日
    31
  • 计算机错误代码0X000000be,电脑蓝屏0x000000be怎么解决

    计算机错误代码0X000000be,电脑蓝屏0x000000be怎么解决相信遇到过蓝屏的用户都知道,当蓝屏出现时,Windows操作系统的蓝屏死机提示已经成为标志性的画面,是令使用者颇为烦恼的电脑故障。用户遇到电脑蓝屏代码0x000000BE时何解?下面,小编就来跟大家介绍一下电脑蓝屏出现代码0x000000BE的解决方法。电脑蓝屏0x000000be怎么解决1、首先我们要知道0x000000BE错误表示硬件设备的驱动程序试图向只读内存错误地写入数据。这个错误一般是因…

    2022年10月8日
    5
  • oracle 将表名和字段名变为大写

    oracle 将表名和字段名变为大写当使用powerdesigner创建数据库时要注意大小写。注:以下脚本在oracle10g,11g上正确执行1.批量将表名变为大写beginforcin(selecttable_nametnfromuser_tableswheretable_name<>upper(table_name))loopbegine…

    2022年5月17日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号