Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ericj

método consultar com hibernate

Recommended Posts

prezados amigos imasters estou com uma problema no meu método de consultar com hibernate. eu tenho um banco de dados com 5 registros(pk) enumerado de 1 a 5 quando eu mando ele pesquisar um id entre esses 5 que estão no banco ele acha normalmente agora quando eu mando ele procurar o numero 6 que não existe no banco ele procura e retorna vazio por que não tem o código 6 em banco queria fazer um tratamento que ele retorne uma mensagem em jsf dizendo que o código não existe.

 

 
 
public class HibernateAnimal {
 
private AnnotationConfiguration ac;
private SessionFactory factory;
private Session session;
 
public HibernateAnimal() {
ac = new AnnotationConfiguration();
ac.configure();
factory = ac.buildSessionFactory();
session = factory.openSession();
}
 
public void destroy() {
session.close();
}

public Animal consulta(Animal registro) throws HibernateException,
ObjectNotFoundException {
try {
registro = (Animal) session.get(Animal.class,
registro.getId());
} catch (ObjectNotFoundException e) {
throw new ObjectNotFoundException(
"Falha de consulta: Objeto não localizado ",
"ERRO! Objeto não localizado");
} catch (HibernateException e) {
throw new HibernateException("Falha de consulta no BD: ", e);
} finally {
session.close();
}
return registro;
}
 
classe bean
 

public class AnimalBean implements Serializable{
 
private static final long serialVersionUID = 1L;
 
private Animal registro = new Animal();
private List<Animal> listagem;
private String filtro;
private int inicio;
private int fim;
 

public void consultar(ActionEvent event) {
try {
HibernateAnimal regHBR = new HibernateAnimal();
registro = regHBR.consulta(registro);
} catch (ObjectNotFoundException e) {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR, "ERRO! Objeto não localizado.",
"ERRO! Falha de consulta aos dados1."));
e.printStackTrace();
} catch (HibernateException e) {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(
FacesMessage.SEVERITY_ERROR, "ERRO! Falha de consulta aos dados.",
"ERRO! Falha de consulta aos dados."));
e.printStackTrace();
}



 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas isso é o que você já está fazendo. Agora basta que você tenha na sua página a tag h:messages .

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.