2014-01-17 2 views
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; 
} 

그리고이 하나, findByIdRangka JPA를 쿼리입니다 :

@NamedQuery(name = "RelasiRumahKayuRangka.findByIdRangka", query = "SELECT r FROM RelasiRumahKayuRangka r WHERE r.relasiRumahKayuRangkaPK.idRangka = :idRangka"), 

여러분은 솔루션을 알고 있으므로 NoResultException에 의해 코드를 잡을 수 있습니까?

+0

코드 "relasiRumahkayuRangkaDAO.getRelasiByIdRangka (idRangka)는"noResultException 의해 혔한다. 나는 데이터베이스에 포함되지 않은 데이터로 idRangka를 채 웠습니다. – user3198020

+1

'예외 '뿐만 아니라 어딘가에서'noResultException'을 던져보십시오. 지금 당장은 그 예외가 아무 것도 던지지 않고 있습니다. – csmckelvey

+0

좋아, 나는 보통 시도 외에도 노력할 것이다 .. – user3198020

답변

0

코드에서. 결과 세트가 비어 있으면 목록도 비어있게됩니다. 해당 상황을 이용하고 원하는 예외를 throw하십시오.

getRelasiByIdRangka(String idRangka) 다음 내용을 추가하십시오.

public List<RelasiRumahKayuRangka> 
    getRelasiByIdRangka(String idRangka) throws Exception { 
    initEntityManager(); 
    // rest of the code here 
    // ... 

    // check if some results are found or not 
    if(rrDrs.isEmpty()) { // or (rrDrs.size() == 0) 
     throw new NoResultException("No results found"); 
    } // if empty 

    // this should be a filled in list 
    return rrDrs; 
} // end of method 
관련 문제