为了账号安全,请及时绑定邮箱和手机立即绑定

在 jpa Criteria 中热添加另一个对象的参数列表

在 jpa Criteria 中热添加另一个对象的参数列表

小唯快跑啊 2022-07-14 10:17:13
我有班主任   public class Director {      private Long id;      @OneToOne(cascade = CascadeType.ALL)      @JoinColumn(name="transacao_id")      private Company company;      private Date registrationDate;       ...   }我有一个班级公司   public class Company {      private Long id;      private String cnpj;      private String description;       ...   }我需要在谓词中添加另一个过滤器...我需要从Director获取列表,使用 jpa 谓词过滤cnpj 列表,例如:private Predicate[] criarRestricoes(FilterDTO filter, CriteriaBuilder builder, Root<Director> root) {        List<Predicate> predicates = new ArrayList<>();        Date today = new Date();        if (filter.getRegistrationDate() != null) {            predicates.add(builder.between(root.get("registrationDate").as(Date.class), today, filter.dateParam));        }        if (!StringUtils.isEmpty(filter.getCnpj())) {            predicates.add(builder.equal(???????????, ???????????????);        }         return predicates.toArray(new Predicate[predicates.size()]);    }
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

builder.equal(root.join("company").get("cnpj"), filter.getCnpj());



查看完整回答
反对 回复 2022-07-14
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信