我将对象添加到列表中,但是存在一个主要问题。如何解决这个问题?我在main方法中的transactionIdList中发送了3个值。
这三个值要发送到下面的方法中,我要添加所有结果返回。但是,只有两个结果以bsList返回,并且处于( basvuru != null && !basvuru.isEmpty()))状态。

     List<ApplicationResult> bsList = new ArrayList();
     Application bsDB = new Application();

     for (int i = 0; i < transactionIdList.size(); i++) {
        List basvuru = session.createQuery("from Application as bsvr where bsvr.transactionId = :var1").setParameter("var1", transactionIdList.get(i)).list();
        if (basvuru == null) {
           ApplicationResult bss = new ApplicationResult();
           bss.setTransactionId(transactionIdList.get(i));
           bss.setBasvuruDurum("no value");
           bsList.add(bss);
        } else if (basvuru != null && !basvuru.isEmpty()){
           ApplicationResult bs = new ApplicationResult();
           bsDB = (Application) basvuru.get(0);
           bs.setTransactionId(bsDB.getTransactionId());
           bs.setBasvuruDurum(bsDB.getDurum());
           bsList.add(bs);
        }
    }

最佳答案

唯一的解释是session.createQuery()返回一个不是List但为空的null

09-06 10:19