Карточка Middle Symfony кратко обновлено
Doctrine: главное
Вопрос
Что нужно знать о Doctrine ORM?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
- Data Mapper: сущности это обычные классы с атрибутами [ORM\Entity], [ORM\Column]. - EntityManager и Unit of Work: persist, remove, flush. - Identity Map: одна сущность на строку в рамках EntityManager. - Ленивые связи через прокси, N+1 лечится JOIN ... fetch в DQL или QueryBuilder (addSelect). - Миграции:…
Ответ
- Data Mapper: сущности это обычные классы с атрибутами
#[ORM\Entity],#[ORM\Column]. EntityManagerи Unit of Work:persist,remove,flush.- Identity Map: одна сущность на строку в рамках EntityManager.
- Ленивые связи через прокси, N+1 лечится
JOIN ... fetchв DQL или QueryBuilder (addSelect). - Миграции:
doctrine:migrations:diffиmigrate.
Разбор
В долгоживущих процессах (воркеры) EntityManager нужно очищать (clear), иначе Identity Map растёт.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.