Для чего inversedBy и mappedBy в Doctrine и в чём разница?
Здравствуйте.
Никак не могу уловить разницу между данными параметрами и для чего их задают когда создают отношения между объектами.
Кто-нибудь, объясните пожалуйста. Спасибо!
Для объявления двусторонних связей между сущностями. Справедливости ради - в 99% случаев двусторонние связи не нужны и их лучше по возможности избегать. Как минимум потому что они не нужны и позволяют делать страшные вещи, ну и на производительность сказывается это пагубно.
Всё равно в таблице появится нужное нам поле, у обратной стороны можно не указывать OneToMany, а также inversedBy и mappedBy.
То есть доктрина сама всё подставляет, ей достаточно указать только владельца?
Максим: в данном случае достаточно указать связь с 1 стороны, доктрина сама все додумает дальше. Но правилом хорошего тона считается описывать все связи. Профайлер еще об этом напоминает всегда.