Класс User отображен на БД.
В системе может быть два типа юзеров, кот. отличаются определенным количеством объектов, кот. может содержать базовый класс User.
Это и коллекции объектов и объекты One-to-One.
И тут вопрос: как это все лучше организовать?
Смущает то, что если просто отобразить все объекты на БД чтобы с разными типами пользователей некоторые объекты не использовались, то будут запрашиваться лишние данные (лишние select в запросах). Сделать же два различных мэпинга нельзя по определенным причинам (нужно будет переделывать систему авторизации).