Действительно вопрос новичка поднимается. Есть ли стандартный (или хороший) способ справиться с тем, что вся информация, содержащаяся в таблице базы данных, не загружается в каждый связанный объект. Я думаю в контексте веб-страниц, где вы собираетесь использовать объекты только для создания одной страницы, а не приложения с более долгоживущими объектами.
Например, предположим, что у вас есть таблица статей, содержащая поля идентификатора, заголовка, автора, даты, сводки и полного содержимого. Вам не нужно загружать fullContents в связанные объекты, если вы просто показываете страницу, содержащую список статей с их резюме. С другой стороны, если вы показываете конкретную статью, вам может потребоваться загрузить каждое поле для этой статьи и, возможно, только заголовки для других статей (например, для отображения на боковой панели последних статей).
Некоторые методы, о которых я могу думать:
- Не беспокойтесь об этом, просто загружайте все из базы данных каждый раз.
- Имейте несколько разных, возможно, унаследованных классов для каждой таблицы и создайте соответствующий ситуации (например, SummaryArticle, FullArticle).
- Используйте один класс, но установите для неиспользуемых свойств значение null при создании, если это поле не нужно, и будьте осторожны.
- Предоставьте объектам доступ к базе данных, чтобы они могли загружать некоторые поля по требованию.
- Что-то другое?
Все вышеперечисленное, как представляется, имеет довольно серьезные недостатки.
Я довольно новичок в программировании, очень новичок в ООП и совершенно новичок в базах данных, поэтому я могу полностью пропустить здесь очевидный ответ. :)