![]() |
1
1
如果你不能复制数据并进行比较,那么很明显,你需要在某个地方记录下发生的变化。那么,问题是如何更新这些记录。 ORM工具可以(如果他们愿意)通过在对象中保留标志来解决这个问题,比如说数据是否已经更改,如果更改了又是什么。听起来好像是在为应用程序提供原始数据结构,而不是使用封装得很好的变体来更新标志的对象。 所以ORM通常不需要应用程序跟踪任何细节的变化。应用程序通常必须说明要保存哪些对象,但是ORM然后计算出为了保存哪些对象需要持久化到DB,并可能在那里应用优化。 我想这意味着,用你的话说,ORM在某种松散的意义上给数据结构添加了观察者。它不是一个外部观察者,而是一个知道如何改变自身的对象,但是当然,记录改变的东西会有一些开销。
然后你会有两种基本情况:
菲尔卡尔顿 |
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 2 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 2 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |