小编Ani*_*ari的帖子

多对多关系的 JPA 搜索条件

我正在使用 JPA2,我希望编写一个模拟此 sql 查询的搜索查询

选择c。,t。来自广告活动 c、campaign_tags ct、标签 t,其中 c.id = ct.campaign_id 和 t.id = ct.tag_id 和 t.name in ('buzz','blitzy');

这是课程

    class campaign {
      @ManyToMany(cascade = {CascadeType.ALL})
      @JoinTable(name = "campaign_tags",
        joinColumns = @JoinColumn(name = "campaign_id"),
        inverseJoinColumns = @JoinColumn(name = "tag_id")
      )
      private Set<Tag> tags;
     }

    class Tag{
      @Id
      private String id;

      @Column
      private String name;
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用条件生成器来编写谓词和规范,以便我可以使用它来搜索 JPA 存储库。以下代码不起作用。

    public static Specification<Campaign> hasTags(String searchTerm) {
    return (root, query, cb) -> {
        //searchTerm contacts tagNames represented as comma separated strings …
Run Code Online (Sandbox Code Playgroud)

jpa spring-data-rest

2
推荐指数
1
解决办法
2924
查看次数

标签 统计

jpa ×1

spring-data-rest ×1