我有一个包含 M:N 元素(标签)集合的对象(BlogPost)。
如何使用 JPA2(Hibernate)查询一个对象(BlogPost),其中至少一个它的标签与一组标签(由用户定义)中的一个元素匹配。
findBlogPostWithAtLeastOneMatchingTag(Collection<Tag> tags){ ???? }
我的主要问题是,我实际上需要比较两个标签集合: - BlogPost 的标签集合。- 我搜索的收藏
我试过Select p from Post p where p.tags in(:tags)
但它不起作用,因为我的帖子实体不止一个标签。
那么我能做些什么呢?
我的 BlogPost 实体看起来像这样。它有几个标签。
@Entity
public class BlogPost{
/** The tags. */
@ManyToMany()
@NotNull
private Set<Tag> tags;
@NotBlank
private String content;
...
}
解决方案不能是 JPQL,JPA-Criteria(不是 Hibernate-Criteria)也可以。