我有两个实体。例如,帖子和标签。 我必须编写一个方法,该方法仅包含查询中提到的具有所有标签的帖子。HQL检查对象是否包含请求集的所有元素 - 重复
我试图
@Query("select distinct p from posts p join p.tags t where t in ?1")
Page<Post> findDistinctByTagsIn(Set<Tag> tagSet, Pageable pageable);
但是它需要后,如果包含在其标签集标记中的至少一个。
如何仅使用HQL和JPA存储库解决此问题?
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "posts_tags", joinColumns = {
@JoinColumn(name = "post_id", nullable = false, updatable = false)},
inverseJoinColumns = {@JoinColumn(name = "tag_id")})
public Set<Tag> getTags() {
return tags;
}
谢谢,它的工作原理! –