ПС>Создать третий класс агрегирующий объекты первых двух типов. Если нужно отношение многие ко многим, то новый класс будет содержать два списка. Один ко многим — ссылка и список, и т.д.
ПС>Главное не создавайте двунаправленных зависимостей без лишней необходимости. Это повышает связность кода.
Возможно совет не для всех задач подойдёт. Посмотрите как эту проблему решает JPA или любой другой ORM framework.
Т.е. нужная вам схема таблиц представляется классами. Google: jpa many to many
В примерах с Hibernate всё-таки bidirectional dependency.