1) Замапить 1...N свойст сущности на одну и ту же сущность вышеуказанным путем можно. И это нормально.
2)
После принятия изменений - в таблице user доктрина сама сделала поле roles текстового типа
Сама доктрина делать ничего не будет. Смотрите маппинг поля roles. Или Вы, или какой то бандл вероятно его переопределили, указав в таблице текстовое значение поля.
3)Что бы доктрина не делала "сама" используйте миграции и смотрите какие изменения будут внесены в Вашу БД.