Как запросить элементы «многие ко многим» с использованием JPA - PullRequest
0 голосов
/ 13 мая 2019

Я бы хотел запросить информацию о моих отношениях ManyToMany по идентификатору родительского объекта.

Имея одного пользователя, я ожидаю получить все сообщения, которые мой пользователь отметил как избранный.У меня есть две сущности, UserEntity и PostEntity, и одна joinTable, user_post_favourite.

@Entity
class UserEntity {@Column
String name;

@OneToMany(cascade = { 
            CascadeType.PERSIST, 
            CascadeType.MERGE })
@JoinTable(name = "user_post_favourite", 
            joinColumns = @JoinColumn(name = "user_id"), 
            inverseJoinColumns = @JoinColumn(name = 
"post_id"))
private List<PostEntity> postFavourites;
}

И мой репо:

public interface UserRepository extends JpaRepository<UserEntity, Long> {
    List<PostEntity> findAllPostFavourites_PostId(Long id);
}

С вышеприведенным запросом выше неРабота.Не уверен, что так должно работать.Конечно, я могу определить конкретную услугу и репо для доступа к объединяемой таблице, но я хотел бы избежать этого, если это возможно.

1 Ответ

0 голосов
/ 15 мая 2019

Просто создайте простой запрос:

Select p from User u join u.postFavourites p where u.Id = :userId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...