无感五 2019-09-27 17:31 采纳率: 50%
浏览 1356
已采纳

SpringBootJPA 多对多查询,只显示指定数据

场景描述

作品专辑

作品

查询专辑下面的作品

只显示已经通过审核的作品,未通过审核的作品不现实,已字段state=1或 2来表示审核是否通过

现在只能查询出全部作品,请问要如何修改才可以呢

代码如下

作品Entity表

@ManyToMany(mappedBy = "csDesignWorks")
    private List<CsAlbum> csAlbums = new ArrayList<>(  );

专辑Entity表

@JsonIgnoreProperties(value = { "csAlbums" }) //解决死循环
    @ManyToMany
    @JoinTable(
            /**
             * 关系配置 只能在关系维护表里配置
            */
            //指定表名字
            name = "cs_album_design_works",
            //配置维护放字段
            joinColumns = @JoinColumn(name = "album_id",referencedColumnName = "id"),
            //配置被维护放字段
            inverseJoinColumns = @JoinColumn(name = "design_works_id",referencedColumnName = "id")
    )
    private List<CsDesignWorks> csDesignWorks = new ArrayList<>(  );

Service查询专辑内容

@Override
    public CsAlbum viewAlbum(Long id){
        CsAlbum csAlbum = csAlbumRepository.findById( id ).get();
        csAlbum.getCsDesignWorks();
        return  csAlbum;
    }
  • 写回答

4条回答 默认 最新

  • threenewbee 2019-09-27 18:53
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • _鹿慕溪水 2019-09-27 18:03
    关注

    添加作品的查询条件啊,只查审核通过的作品去跟中间关系表关联,查出对应的作品专辑

    评论
  • Json-Huang 2019-09-27 22:14
    关注

    可以使用Predicate toPredicate(Root root, CriteriaQuery<?> query, CriteriaBuilder cb) 接口方法,详细demo可参考:https://blog.csdn.net/achi010/article/details/72793479

    评论
  • VICTOR_fusheng 2019-09-29 17:32
    关注

    可以参考https://blog.csdn.net/VICTOR_fusheng/article/details/93361977
    Repository可以额外继承QueryDslPredicateExecutor

    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 12月22日

悬赏问题

  • ¥20 python 3des pyDes库
  • ¥15 关于#mysql#安装失败的问题。MySQL
  • ¥15 想问一下for循环计算表达式的方法,第一次接触
  • ¥15 如何在VA框架上面加功能,去读取框架内任何app数据功能
  • ¥15 关于#c语言#的问题:用c或c++写一个计算下列问题有关软件工程的代码并加上分析
  • ¥15 Zeppelin0.10.0版本升级lib包下的shiro-web
  • ¥15 链表入队的指针内存问题
  • ¥20 vba如何写本地html文件执行js
  • ¥15 VS2022的C#如何创建
  • ¥20 关于#用户注册#的问题,如何解决?