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!