相关疑难解决方法(0)

如何查询与JPA2的M:N关系?

我有一个对象(BlogPost),它包含一个M:N元素集合(标签).

如何查询一个对象(BlogPost),其中至少有一个对象的标签与一组标签(由用户定义)中的元素与JPA2(Hibernate)匹配.

findBlogPostWithAtLeastOneMatchingTag(Collection<Tag> tags){ ???? }
Run Code Online (Sandbox Code Playgroud)

我的主要问题是,我实际上需要比较两个标签集合: - 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;

    ...
}
Run Code Online (Sandbox Code Playgroud)

解决方案不能是JPQL,JPA-Criteria(不是Hibernate-Criteria)也可以.

java hibernate jpql criteria-api jpa-2.0

6
推荐指数
1
解决办法
2546
查看次数

标签 统计

criteria-api ×1

hibernate ×1

java ×1

jpa-2.0 ×1

jpql ×1