Выполнение запроса для получения каждого свойства стоит дорого, если вы все равно собираетесь получить каждое свойство. Таким образом, ваш метод 1 или более аккуратный подход @ Амира был бы лучшим выбором в этом случае.
Это компромисс, получите «все» с одним доступом к БД на случай, если вам это нужно, вместо хранения большого количества вещей в памяти, которые вам могут не понадобиться.
Ваши два подхода - получить все сразу
или получите каждый, как вам нужно.
Есть в основном между вариантами
получите это, если у вас еще нет этого,
всегда получайте «общие» вещи и другие биты, когда и когда они вам нужны.
или смесь всегда получает это, а затем и другие биты, если у вас их еще нет.
Нет жесткого и быстрого правила. Вы должны посмотреть, какие операции выполняются над объектом и насколько они параллельны. т.е. сеанс 2 может изменить атрибуты person1, пока сеанс1 смотрит на него. Приведет ли это к ошибке, путанице или не имеет значения.