Это зависит от вашего использования, но в целом я бы предпочел использовать геттер, поскольку это «нормальный» способ, и в большинстве случаев он будет делать то, что ожидает разработчик класса.
В принципе, если разработчик класса сделал поле приватным, он может делать все, что ему заблагорассудится, например, удалить его позже, если он может быть рассчитан другим способом. Тогда доступ к полю прекратится, надеюсь, немедленно, если вам не повезет через 3 месяца, когда никто больше не помнит.
Обратите внимание, что есть библиотеки вроде apache commons BeanUtils (я думаю, что есть и в Spring), которые делают это для вас и предлагают более разумный интерфейс, например, хэш-карту.