juliano_FRG 7 de dez. de 2008
De qual dos métodos você está falando?
Giulliano 8 de dez. de 2008
Eu acho q ele esta se referindo ao DAO (presumo…rss)
Vc pode criar uma Exception no seu DAO do tipo BusinessException…
ficaria :
class BusinessException extends Exeption {
}
public Animal load ( Serializabe id ) throws BusinessException {
if ( resultadoDaConsulta == null ){
throws new BusinessException ( "Nenhum Registro encontrado" );
}
}
e por fim :
Object objeto = null ;
try {
objeto = dao . load ( codigo );
Animal animal = ( Animal ) objeto ;
jAnimal . setText ( animal . getNome ());
} catch ( BusinessException be ){
jAnimal . setText ( be . getMessage ());
}
pode não ser o melhor jeito…depende do que vc realmente precisa…
[]'s
Marky.Vasconcelos 8 de dez. de 2008
O método load da classe Session do hibernate lança uma Exception caso não tenha nenhum objeto com esse id.
Então um try/catch serviria.
DAO < Animal > dao = new DAO < Animal > ( Animal . class );
dao . setSession ( HibernateUtil . openSession ());
int codigo ;
codigo = Integer . parseInt ( jBrinco . getText () . trim ());
Object objeto = null ;
try {
objeto = dao . load ( codigo );
} catch ( RuntimeException e ){
JOptionPane . showMessageDialog ( null , "Nenhum animal encontrado" );
return ;
}
// Se passou do catch significa que o objeto não é null
Animal animal = ( Animal ) objeto ;
jAnimal . setText ( animal . getNome ());
Marky.Vasconcelos 8 de dez. de 2008
PS:
O método load já retorna um objeto do tipo passado no generics… então voce pode associar direto a um animal e não depois fazer um cast
DAO < Animal > dao = new DAO < Animal > ( Animal . class );
dao . setSession ( HibernateUtil . openSession ());
int codigo ;
codigo = Integer . parseInt ( jBrinco . getText () . trim ());
Animal animal = null ;
try {
animal = dao . load ( codigo );
} catch ( RuntimeException e ){
JOptionPane . showMessageDialog ( null , "Nenhum animal encontrado" );
return ;
}
// Se passou do catch significa que o objeto não é null
jAnimal . setText ( animal . getNome ());