Здравствуйте.
Подозреваю что вопрос немного дурацкий, но все же.
Делаю сервер с использованием Spring 4.2.4 и Spring Data Jpa, модель - что-то вроде социальной сети, есть сущность (назовем условно "User"), нужно хранить данные на кого этот пользователь подписался, ну и соответственно - кто подписан на этого пользователя. То есть, налицо связь Many To Many, но одна проблема - с обеих ее сторон находится одна и та же сущность.
Думаю записать это в коде так:
@ManyToMany
@JoinTable(name="following_follower",
joinColumns = @JoinColumn(name="follower_id", referencedColumnName="id"),
inverseJoinColumns = @JoinColumn(name="following_id", referencedColumnName="id"))
private Set<User> following;
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "following")
private Set<User> followers;
Но смущает, не будет ли проблем с обработкой такой связи.
Или лучше пойти другим путем: убрать эту связь из Jpa вообще и написать связующую таблицу и репозиторий для нее вручную?