я использую оба варианта но в разных ситуациях.
1- вариант — если связь не обладает характеристиками, например контент и теги
2 — вариант — при наличии у связи характеристик — т.е. например если нужно ограничить доступное количество подобъектов из контекста первой сущности для второй, то этот лимит хранится в таблице со связью, им нужно манипулировать, для этого и вводится персональный идентификатор