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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vmware16虚拟机安装教程win10_虚拟机安装ghostwin7

    vmware16虚拟机安装教程win10_虚拟机安装ghostwin7相对于vm15而言,vm16虚拟机它的基础上进行了全方面的改善和优化,如能够从vmx中删除图形渲染并将其作为单独的沙箱进程运行,可以增强虚拟机的安全性,还支持在WorkstationPro顶部运行的KINDkubernetes集群,与虚拟机虚拟XHCI控制器USB3.1,以及支持10Gbps等等,最值得一提的是支持暗模式,主要优势在于弱光环境下具有更高的可读性,且降低了设备屏幕的亮度,改善…

    2025年11月17日
    2
  • idea打包jar没有主清单属性_maven库中有jar包,但是引入不到

    idea打包jar没有主清单属性_maven库中有jar包,但是引入不到推荐必看:https://blog.csdn.net/persistencegoing/article/details/84376427问题:springboot项目通过maven打包程序后,直接执行jar包时,控制台显示“没有主清单属性”。解决:在maven的pom文件中,编写maven-jar-plugin的插件,具体如下<plugin>&…

    2025年9月14日
    6
  • Oracle之AUTHID CURRENT_USER

    Oracle之AUTHID CURRENT_USER

    2021年8月17日
    83
  • avc1 vs avc3 in fragment MP4 difference

    avc1 vs avc3 in fragment MP4 differenceAmendment2ofISO/IEC14496-15(AVCfileformat)isdefininganewstructureforfragmentedMP4called”avc3″.TheprincipaldifferencebetweenAVC1andAVC3isthelocationofthecodecinitialisationdata(e.g.SPS,PPS).InAVC1thisdataisplacedin.

    2022年10月17日
    3
  • TinyXML使用方法[通俗易懂]

    TinyXML使用方法[通俗易懂]TinyXML使用说明  TinyXML是一个C++的XML解析库,网上的评价都不错,是一个轻量级的XML解析库。关于TinyXML使用的文章有很多,而且官方也有完整的文档,这里只是简单把自己使用记录写下来,方便以后查阅。     一个XML文档例子:(文章后面会把这个XML当作例子使用)  <!–test.xml–><Persons><P…

    2022年6月13日
    40
  • 我来了哦

    我来了哦

    2022年2月21日
    51

发表回复

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

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