RVMIRZX, что-то звучит так, что вам там уже всё сломали и обворовали. Не подписывайте бумагу об приёме, пока не убедитесь, что все запчасти на месте в том числе, всё работает и лицензионный ключ виндовс не стёрли (если конечно у вас была предустановленная винда).
Shurik, ну типо того, кто первый прочитал сущность, у того права её редактировать, а все остальные получать блокировку. Конечно вы должны исключить обходные пути, если такие у вас имеются.
Не, в доктрине всё оборачивается в одну транзакцию при выполнение flush. И вот внутри неё, доктрина не всегда сможет правильно разрулить её и вызвать исключение от самой БД (если конечно вы позаботились, чтобы ваши данные были всегда консистентные).
Например не правильный порядок удаление данных из разных таблиц, вызовет исключение по внешнему ключу.
Такие проблемы решаются либо разбиением на несколько транзакций (два и более flush), что в общем не правильно, либо ручками пишется транзакция.
А вот то, доктрина позаботиться о порядке операций, это верно лишь на 90%, 10% баги, когда доктрина не понимает порядок и нужно ручками делать. Обычно доктрина не может справиться с очередностью, если нужно в определённом порядке изменить одну и туже сущность
Encoders, ну так пихаете в DTO и в валидатор, дальше всё сделает симфони.
Не может быть данных без типов, максимум массивы, но и их можно провалидировать на нужные типы.