spring data jpa Specification 多对一检索

一对多查询,以多的一方的ID查询一
@Entity
@Table(name = "refund_bill")
public class RefundBill extends IdEntity {
  private List<Apply> applyList = Lists.newArrayList();
@OneToMany(mappedBy = "refundBill")
public List<Apply> getApplyList() {
return applyList;
}
public void setApplyList(List<Apply> applyList) {
this.applyList = applyList;
}

}


@Entity
@Table(name = "apply")
public class Apply extends IdEntity {
   private RefundBill refundBill;
@ManyToOne
@JoinColumn(name = "refund_bill_id", updatable = true)
public RefundBill getRefundBill() {
return refundBill;

}


public void setRefundBill(RefundBill refundBill) {
this.refundBill = refundBill;
}

}


Specification<RefundBill> spec = new Specification<RefundBill>() {
@Override
public Predicate toPredicate(Root<RefundBill> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Join<RefundBill, Apply> joins = root.join("applyList");
List<Predicate> predicates = Lists.newArrayList();
predicates.add(cb.equal(joins.<Long>get("id"), applyId));

return cb.and(predicates.toArray(new Predicate[predicates.size()]));
}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值