如何识别一个DO模型的字段的内容改变?

微凉
  • 816

在业务中,经常出现一些业务。如果某个DO模型的字段发生了改变,就触发某个事件。但是应该如何探查这个DO模型的字段发生了改变,现目前的方法是:先从数据库查出这个DO模型,然后和前台请求的DO模型匹配某个字段,如果不相同,就认为发生了改变。这样子的缺点比较明显,代码和业务发生紧密耦合。有没有一种方法,能够将 这个需求抽象为一种通用的代码模型?

回复
阅读 784
2 个回答

从问题描述来看,楼主想要的和某些 ORM 的特性很像,比如 .NET 中的 Entity Frameowrk Core 与 Java 中的 Hibernate。为什么这么说呢?因为它们的特性——状态跟踪(Change-Tracking)就是这类需求的解决方案之一。

  • Entity Frameowrk Core 的状态跟踪
  • Hibernate 不熟 😂

另外之前如果没接触过这块的话,也可以看看阿里出品 DDD 教程的 Change-Tracking 变更追踪 小节,有助于理解。

重写equals方法 idea自动生成比较的字段。 然后通过对象的equals方法是否相同。这样的话比较的时候是实体自己的功能与业务无关。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏