Java, gli EJB e le query SingleResult

Programmazione - Java Visite: 4770
document_java Java, gli EJB e le query SingleResult
Vediamo oggi una semplicissima funzione che spiega, in linguaggio java, come usare gli EJB ed effettuare una query di tipo SingleResult, ovvero una query che ritorni un solo risultato.

AGGIORNAMENTI
19/06/2011:
gestione delle eccezioni

Ecco la funzione:

public int myFunc()
{
    log.debug("myFunc:Begin:");       
    Object risultato = null;
    try{
        String qry = "...my query...";
        Query queryTmp = em.createQuery(qry);
        risultato = queryTmp.getSingleResult();    

    }

   catch(NoResultException nre)
   {
      //gestire il caso in cui non si trovano risultati
      risultato = null;
    }  

    catch(Exception e){
        log.debug(this.getClass().getName() + " " + e.getMessage(), e);
    }
    log.debug("myFunc:End:");
    return risultato;               
}

 

Questa funzione la potete usare come template standard, è una funzione completa di gestione degli errori e del log.

Da notare che, nel caso in cui non si trovano risultati, viene generata una NoResultException da gestire a seconda delle esigenze. Anche nel caso in cui, invece di un solo record, la query dovesse restituire più di un record, viene generata una apposita eccezione.

 

Buon lavoro!