Pessoal eu tenho 3 métodos em um determinado DAO :
public void cadastrarPessoa(Pessoa pessoa);
public void cadastrarPessoaFisica(PessoaFisica pessoa);
public void cadastrarPessoaJuridica(PessoaJuridica pessoa);
O primeiro método a ser executado é o cadastrarPessoa, segue o código:
public void cadastrarPessoa(Pessoa pessoa) {
String query = "INSERT INTO TABELA(.....) VALUES (......)";
PreparedStatement stmt = conexao.prepareStatement(query);
......................
stmt.execute();
pessoa.cadastrar();
}
A classe Pessoa é abstrata e possui o método cadastrar, e as subclasses PessoaFisica e PessoaJuridica implementam esse método. Segue o código abaixo:
PessoaFisica:
@Override
public void cadastrar() throws SQLException {
dao.cadastrarPessoaFisica(this);
}
PessoaJuridica:
@Override
public void cadastrar() throws SQLException {
dao.cadastrarPessoaJuridica(this);
}
O método cadastrarPessoa está sendo executado normalmente e sendo salvo no banco, porém os métodos específicos: cadastrarPessoaFisica e cadastrarPessoaJuridica não estão sendo executados. Percebi que quando a execução passa por esses métodos, a conexão é perdida. Alguém tem idéia do que possa ser?