symfony - "the entities are privately owned"是什么意思(如 Doctrine 官方文档中所示)?

标签 symfony doctrine entity

我在 Doctrine 文档中阅读了以下内容,这些内容对我来说意义不大:

When using the orphanRemoval=true option Doctrine makes the assumption that the entities are privately owned and will NOT be reused by other entities.

这里是您可以在上下文中找到该句子的链接。 doctrine official documentation

有人可以给我一个实体之间 ManyToMany 关系中私有(private)实体的示例吗?

最佳答案

假设您将一些用户设置存储在 Settings 中附加到 User 的实体通过一对多或一对一关系的实体,Settings实体不会在多个用户之间共享,如果引用的用户被删除,也不会被重用,您可以说 Settings属于 User 私有(private)所有如果 User 就会成为孤儿被删除,orphanRemoval=true通过删除Settings来防止这种情况发生当它的“妈妈”User实体被删除。

关于 SO 的其他一些您可能会感兴趣的问题:

关于多对多关系,可以使用orphanRemoval在这种关系上, Doctrine 将简单地删除附加实体,即使它们仍然附加到其他实体。 请注意,即使此选项适用于多对多关系,但并未针对此类关系进行正式记录:

我认为没有任何关于多对多关系的私有(private)实体的例子,或者它不会是多对多,但 Doctrine 只是做出了假设确实如此,并且无论如何都会继续删除附加的实体。

关于symfony - "the entities are privately owned"是什么意思(如 Doctrine 官方文档中所示)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27476333/

相关文章:

php - 使用 API 平台允许 json 中的 NULL 值

Symfony2 : SonataAdminBundle - How can i get the object representing the current user inside an admin class?

php - 选择时找不到 Symfony3 Doctrine 多对多列

java - java中有没有一种抽象的方法来获取实体的所有属性?

c# - 如何与 Entity Framework Code First 建立一对一关系

php - Symfony 4 单一形式的多个实体

mysql - 子查询中的 Doctrine 子查询

sql - 标签建议(不是标签自动完成)

java - Spring Boot如何编辑实体

javascript - Symfony2 Bundles 资源文件丢失