Ну что, пришло время занудствовать на тему реляционных баз данных. Хорошо быть занудой или нет я не знаю, но точно знаю что без понимания основ СУБД далеко не уедешь. Основы реляционных баз данных преподают в университетах, начиная со 2-3 курса (по-разному, в зависимости от программы). В непосредственном моменте обучения, теория р-СУБД выглядит совершенно бездушной, безнадёжно устаревшей, скучной и "и так понятной". Спустя же годы практики, так или иначе приходится возвращаться к основам теории, и сопоставлять эту самую скучную теорию с реальной производственной необходимостью...
Когда мы моделируем базу данных, мы, скорее всего, определяем несколько ассоциаций "многие-к-одному" или "один-ко-многим". И, конечно же, то же самое происходит, когда мы моделируем сущности. Это довольно просто сделать с помощью JPA и Hibernate. Вам просто нужен атрибут, который представляет ассоциацию и аннотирует ее с @ManyToOne или @OneToMany ассоциацией. Но как бы легко это ни казалось, здесь, к сожалению, есть несколько подводных камней. Давайте смоделируем сущности Vendor и Client и создадим между ними двунаправленную связь One to Many...