Это что-то более личное.Некоторые люди предпочитают использовать Embedded для абстрагирования некоторой информации, а другие более пуристы.
По моему опыту, я предпочитаю отображать объекты очень близко к их представлению в таблицах.Причины просты:
- Техническое обслуживание : легче понять, что происходит на картировании, если какой-то новый разработчик входит в команду, и у него нет большого опыта работы сhibernate.
- Запросы, более похожие на SQL : ваши запросы JPQL / Criteria будут ближе к сгенерированному SQL.Абстракция встроенного может привести к некоторой путанице даже для людей, знакомых с платформой.
И, как уже упоминалось в других ответах, вы всегда будете приводить информацию Country
с помощью User
, используя встроенный,Это поведение EAGER , чего обычно следует избегать в JPA / Hibernate.
Итак, в вашем случае я бы использовал отношение многие-к-одному.