什么是PersistentCollection?

Côt*_*nde 15 collections symfony doctrine-orm

我的数据库中有一对多的关系.该编辑,删除和添加用来工作就好元素.但是,经过一些更改后(我无法追踪它们),它不再起作用了.
现在,当我获取具有一对多关系的对象时,我得到一个持久集合来表示我的多边集合.我想以前不是这样的.在我的构造函数中,我创建了一个新的Array Collection而不是Persistent Collection.

我查阅了学说文档,发现:

PersistentCollection表示具有持久状态的元素的集合.

我不明白这意味着什么.

你能告诉我:

  1. 使用简单的一对多持久化集合是否正常?
  2. 这些收藏品可能如何出现?(而不是通常的ArrayCollection)
  3. 最后,Persistent Collection的用途究竟是什么?

Naw*_*rar 5

1. 使用简单的一对多的持久化集合是否正常?

不,ArrayCollection 是正常的,我以前从未使用过 PersistentCollection,但它有一些在某些情况下可能有用的有用功能。

http://www.doctrine-project.org/api/orm/2.1/class-Doctrine.ORM.PersistentCollection.html

  1. 这些集合如何出现?(而不是通常的 ArrayCollection)

它们是集合,而且它们看起来与普通的 ArrayCollection 相同,里面有实体及其类型。

  1. 最后,Persistent Collection 到底有什么用?

正如您在文档中看到的,PersistentCollection 有很多 ArrayCollection 没有的功能,而 PersistentCollection 使用 EntityManager,它允许与数据库交互而无需持久化,只需刷新。

  • @NawfalSerrar 不工作 (4认同)
  • 关于第2点:我从来没有要求过,所以我不明白为什么会出现。 (3认同)