Рассмотрите следующие таблицы и классы Java, чтобы сформулировать проблему, для которой я ищу решение -
Таблица CITY с идентификатором столбца, именем. Java-класс City, имеющий свойство id и name.
Таблица СТРАН, имеющая столбцы id, name. Класс Java Country, имеющий свойство id и name.
Таблица USER, содержащая столбцы id, name, city_id, country_id, где city_id - это FK из таблицы CITY, а country_id - это FK из таблицы COUNTRY. Java-класс Пользователь, имеющий свойство id, name, cityId и countryId.
Теперь в пользовательском интерфейсе нельзя отображать cityId и countryId для записи пользователя, вместо этого имена, которые будут отображаться как идентификаторы, не имеют смысла для пользователей. Так что мой класс пользователя правильный дизайн? Каким должен быть дизайн? Должны ли это быть объекты City и Country вместо cityId и countryId? И как мне загрузить необходимые данные?
Представьте себе то же самое для сложной системы, где в таблицах больше столбцов. Как бы масштабирование проекта для сложной системы? Поскольку мне не нужны целые объекты все время, достаточно только названия.