Sistema Robusto com Hibernate

5 respostas
S

Boa tarde!

Como saber se o objeto foi salvo com sucesso no Banco de dados através do hibernate?

Uso um servidor na rede, como tratar as ecessões lançadas por exemplo se o servidor estiver fora e eu tentar guardar algo no banco?

Existe alguma forma?

5 Respostas

dicabeca

use transação garante a escrita no banco,qualquer erro q de nao sera escrito,bom o ejb contrala isso para vc!!!

peerless

Para tratar exceções acho que, um try/catch resolve, correto?

De todo caso, você ainda tem a possibilidade do retorno do método que está gravando, por ex veja este código:

Cliente c = urDao.save(otherClient);

if (c.getId() != null) … ok o cliente foi salvo!

R

Normalmente com o Hibernate um objeto novo não tem identificador definido (está nulo ou zerado).
Após a operação save o identificador é atribuido ao seu objeto.
Mas somente após o final da transação o objeto está realmente valendo no banco de dados.

Imagino que vc está falando do servidor de banco de dados.
Se vc tentar conversar com um servidor de banco de dados que está fora do ar, vc vai tomar uma SQLException do driver JDBC - usando o Hibernate, este transforma as exceções do driver JDBC em JDBCException, que é o que vc deve procurar tratar com try / catch

S

Essa galerinha experiente do Fórum é demais!

Obrigado moçada!

JMan

securitynews:
Boa tarde!

Como saber se o objeto foi salvo com sucesso no Banco de dados através do hibernate?

Respondendo unicamente a esta pergunta, de uma olhada nos métodos de callback.

Entity listeners and Callback methods

Espero que ajude;

[]'s

Criado 15 de julho de 2008
Ultima resposta 15 de jul. de 2008
Respostas 5
Participantes 5