我有一个用户实体和文章实体。文章的获取类型是LAZY。我不需要一直加载文章,但我有一个情况需要加载用户收藏夹的文章。我怎样才能有条件地做到这一点?
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
name = "user_favorite_articles",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "userId", nullable = false),
inverseJoinColumns = @JoinColumn(name = "article_id", referencedColumnName = "articleId")
)
private List<Article> favoriteArticles;
Optional<User> findById(Long id);
@Query("SELECT u FROM User u JOIN FETCH u.favoriteArticles WHERE u.id = :id")
Optional<User> findUserWithFavoriteArticles(@Param("id") Long id);