Объектно-реляционное отображение - плохая практика. Под этим я подразумеваю, что он имеет тенденцию создавать схемы данных, которые можно только в общих чертах описать как «реляционные», и поэтому они плохо масштабируются и демонстрируют плохую целостность данных.
Это потому, что должным образом реляционные схемы прошли процесс нормализации, тогда как результаты O-R Mapping обычно представляют собой классы объектов, реализованные в виде таблиц базы данных. Обычно они не нормализуются, а предназначены для немедленного удобства разработчика OO.
Конечно, в случаях, когда постоянные требования к данным минимальны, это неважно.
Однако однажды я работал в судоходной компании, которая выросла за счет поглощения нескольких других компаний и поручил разработку интегрированной операционной системы (для замены различных систем, унаследованных ею), компании, унаследованной от компании. методология, со схемой данных, созданной с помощью сопоставления OR. Характеристики производительности разрабатываемой системы были настолько плохими, а схема данных - настолько сложной, что судоходная компания отказалась от нее после двух лет разработки, прежде чем она вообще заработала!
Это было прямым следствием отображения O-R; Наихудшая сложность схемы (и, следовательно, низкая производительность) была вызвана существованием таблиц, созданных исключительно как артефакты процесса проектирования ОО - они отражали схемы экрана, а не отношения данных.