【发布时间】:2019-03-20 12:57:49
【问题描述】:
我有以下代码:
public Optional<KoKur> getExchangeRateFromList(final Integer code, List<KotukOdeme> paymentList){
List<LocalDate> paymentDateList = null;
for(KotukOdeme kotukOdeme : paymentList){
paymentDateList.add(kotukOdeme.getOdemeTarihi());
}
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<KoKur> query = cb.createQuery(KoKur.class);
Root<KoKur> koKurRoot = query.from(KoKur.class);
query.where(
cb.and(
cb.equal(koKurRoot.get("dovizTip"), code)
)
);
TypedQuery<KoKur> typedQuery = entityManager.createQuery(query);
List<KoKur> koKurList = typedQuery.getResultList();
return koKurList.isEmpty() ? Optional.empty() : Optional.of(koKurList.get(0));
}
我在 paymentDateList 中收集本地日期列表,我想在我的查询中添加这些作为 IN 子句。所以除了“代码”之外,我还想在我的 AND 子句旁边添加 IN。当我像下面这样添加时,IDE 给了我错误;
cb.in(koKurRoot.get("tarih"), paymentDateList)
我该怎么做?
【问题讨论】:
标签: java spring spring-boot jpa spring-data-jpa