Como tratar exceção na persistência?

2 respostas
javer

Gostaria de saber como se trata exceção na persistência.

Tenho meu persistence.xml assim:

<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="HorusPU" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.PersistenceProvider</provider> <class>horus.bean.Usuario</class> <properties> <property name="toplink.jdbc.user" value="SYSDBA"/> <property name="toplink.jdbc.password" value="senha"/> <property name="toplink.jdbc.url" value=""/> <property name="toplink.jdbc.driver" value=""/> <property name="toplink.logging.level" value="INFO"/> <property name="toplink.logging.exceptions" value="true"/> </properties> </persistence-unit> </persistence>

Quero ter uma forma de mostrar uma mensagem na tela (em um JOptionPane, JDialog, etc) para o usuário, do jeito que está ele mostra no console apenas.
Como vocês tratam isso?
Tem como criar uma classe e passar ela nessas propriedades? Ou algo assim?

2 Respostas

rubensdemelo

Você tem que lançar a exceção na persistência e ai declara que os métodos que chamam este método também lançam a exceção.

A exceção é lançada na persistencia e vai subindo até chegar na apresentação, qndo chegar na apresentação vc faz o tratamento.

Assim mais ou menos:

Visao:

metodo throws MinhaException{


try {
            controle.algumMetodo()
        } catch (MinhaException) {
            //trate a exceção aqui
        }


}

Controle:

metodo throws MinhaException{

dao.algumMetodo

//Não trate a exceção aqui

}

Persistência/DAO:

metodo throws MinhaException {

exceção lançada aqui...


}

Assim, logo qndo a persistencia lançar o erro, ele vai ser capturado pelo método "de cima", e assim por diante, até chegar na sua tela.

javer

Caramba, fiquei doidinho, quisera eu ter entendi tudo que você disse, essa é a primeira vez que mexo com persistência e agora que consegui salvar e alterar e inserir no banco de dados.

Se puder dar uma exclarecida melhor para um leigo nesse assunto eu agradeço.

Criado 27 de novembro de 2009
Ultima resposta 27 de nov. de 2009
Respostas 2
Participantes 2