问题是关于 Doctrine 的,但我认为这可以扩展到许多 ORM。
分离:
实体与 EntityManager 分离,因此不再通过对其调用
EntityManager#detach($entity)
方法或将分离操作级联到它来进行管理。对分离实体所做的更改(如果有)(包括删除实体)在分离实体后不会同步到数据库。
合并:
合并实体是指将(通常是分离的)实体合并到 EntityManager 的上下文中,以便它们再次被管理。要将实体的状态合并到 EntityManager 中,请使用该
EntityManager#merge($entity)
方法。传递的实体的状态将被合并到该实体的托管副本中,该副本随后将被返回。
我(几乎)理解这是如何工作的,但问题是:为什么需要分离/合并实体?当这两个操作可以使用/需要时,你能给我一个例子/场景吗?