0
這是我製作的代碼。它不應該得到並進入NoResultException,但它不符合預期。有一個未使用的數據。我嘗試打印出來,這裏是輸出: 「[]」此代碼無法檢查NoResultException
private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
int row = tableDataRangka.getSelectedRow();
String idRangka = tableDataRangka.getValueAt(row, 0).toString();
System.out.println(relasiRumahkayuRangkaDAO.getRelasiByIdRangka(idRangka).toString());
} catch (NoResultException nre) {
// Doing something..
} catch (Exception ex) {
Logger.getLogger(MasterDataProjectUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
這裏是方法的代碼 「getRelasiByIdRangka」:
public List<RelasiRumahKayuRangka> getRelasiByIdRangka(String idRangka) throws Exception{
initEntityManager();
List<RelasiRumahKayuRangka> rrDrs = new ArrayList<>();
Query q = em.createNamedQuery("RelasiRumahKayuRangka.findByIdRangka");
q.setParameter("idRangka", idRangka);
rrDrs.addAll(q.getResultList());
closeEntityManager();
return rrDrs;
}
而這一次是JPA查詢,findByIdRangka:
@NamedQuery(name = "RelasiRumahKayuRangka.findByIdRangka", query = "SELECT r FROM RelasiRumahKayuRangka r WHERE r.relasiRumahKayuRangkaPK.idRangka = :idRangka"),
你們是否知道解決方案,所以可以通過NoResultException捕獲代碼?
代碼「relasiRumahkayuRangkaDAO.getRelasiByIdRangka(idRangka)」應該被noResultException抓住。我用IDRangka填充了數據庫中未包含的數據。 – user3198020
嘗試從某處拋出'noResultException',而不僅僅是'Exception'。就像現在這樣,這個例外並沒有被任何東西拋出。 – csmckelvey
好吧,我會嘗試,除了它通常工作.. – user3198020