Мое предложение будет всегда думать о дизайне, а не о производительности.Производительность может быть изменена, а дизайн - нет.Таким образом, если два объекта имеют такие отношения, когда требуется агрегирование / составление, вы должны это сделать.
Но если ваш содержащий объект должен иметь дело только с идентификатором (например, для передачи его другому объекту, который обрабатывает идентификатор, чтобы что-то сделать), то вы можете оставить только поле идентификатора.Нет необходимости выставлять весь объект целиком (но убедитесь, что содержащийся объект не должен ничего знать о другом объекте.).