Для приведенного Вами примера я бы сделал следующее: сделал бы класс Article абстрактным, пометил бы его как
MappedSuperclass, перенес туда общие свойства (title, date, type, render), и уже от него наследовал бы Photo, Video, Text. И, самое главное, в структуре проекта перенес бы Article из Entity в Model, поскольку это уже не сущность базы данных. Id же лучше вручную описать в каждой сущности.
Отвечая же собственно на вопрос в заголовке: можно и не создавать Entity. Работать через запросы, гидрировать ответы в массивы, особенно если это оправдано обстоятельствами, а не нечто из разряда "а зачем мне система контроля версий? а зачем мне ide, я и в блокноте могу?".