Problemas no controle das casses com Herança

2 respostas
G
Olá a todos! Estou com um probleminha no controle das minhas classes pessoa física e juridica. Quado eu chamo meu metodo de listagem do meu facade ele não reconhece o retorno. e na lampadazinha de sugestões que abre do lado da linha de codigo com opções pra resolver o erro(Estou usando o NetBeans) aparece pra alterar o tipo de retorno. O erro é: estou pedindo um objeto do tipo pessoaFisica e estou obtendo um do tipo pessoa. O que tenho que alterar no meu facade pra resolver isso? Abaixo seguem minhas classes ControlePessoaFisica e meu Abstract Facade:
package br.com.monitoria.controle;

import br.com.monitoria.entidades.Pessoa;
import br.com.monitoria.entidades.PessoaFisica;
import br.com.monitoria.facade.PessoaFacade;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

/**
 *
 * @author Augusto
 */
@ManagedBean
@SessionScoped
public class PessoaFisicaControle {

    private Pessoa pessoa;
    // private PessoaFisica selecionaPessoaFisica;
    private PessoaFisica pessoaFisica;
    @EJB
    private PessoaFacade pessoaFisicaFacade;

    public PessoaFisicaControle() {
        pessoa = new Pessoa();
        pessoaFisica = new PessoaFisica();

    }

    public void novo() {
        pessoaFisica = new PessoaFisica();

    }

    public PessoaFisica getPessoaFisica() {
        return pessoaFisica;
    }

    public void setPessoa(PessoaFisica pessoaFisica) {
        this.pessoaFisica = pessoaFisica;
    }

    public void salvar() {
        pessoaFisicaFacade.salvar(pessoaFisica);
        pessoaFisica = new PessoaFisica();
    }

    public List<PessoaFisica> listaTodos() {
        return pessoaFisicaFacade.listaTodos()
    }

    /*public void excluir(ActionEvent e) {
     pessoaFisica = (PessoaFisica) e.getComponent().getAttributes().get("parametroPessoaFisica");
     pessoaFisicaFacade.remover(pessoaFisica);
     pessoaFisica = new PessoaFisica();
     }
     */
    // metodos alex\\
    public void deletar(PessoaFisica fisica) {
        pessoaFisicaFacade.remover(fisica);

    }
    /* public void selecionaFisica(PessoaFisica fisica){
     selecionaPessoaFisica =fisica;
     }
     */

    public void alterar(ActionEvent e) {
        pessoaFisica = (PessoaFisica) e.getComponent().getAttributes().get("parametroPessoaFisica");
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    /* public PessoaFisica getSelecionaPessoaFisica() {
     return selecionaPessoaFisica;
     }

     public void setSelecionaPessoaFisica(PessoaFisica selecionaPessoaFisica) {
     this.selecionaPessoaFisica = selecionaPessoaFisica;
     }
     */
}
Abstract:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.monitoria.facade;

import java.util.List;
import javax.persistence.EntityManager;


public abstract class AbstractFacade<entidade> {
    
    private Class<entidade> entityClass;    
    protected abstract EntityManager getEntityManager();

    public AbstractFacade(Class<entidade> entityClass) {
        this.entityClass = entityClass;
    }
    
    public void salvar(entidade e){
        getEntityManager().merge(e);
    }
    
    public void remover(entidade e){
        getEntityManager().remove(getEntityManager().merge(e));
    }
    
    public List<entidade> listaTodos(){
        return getEntityManager().createQuery("from "+entityClass.getSimpleName()).getResultList();
    }
    
    public Object recupera(Object id){
        return getEntityManager().find(entityClass, Long.parseLong(id.toString()));
    }
}

Grato.

2 Respostas

G

Opa, achei o erro, problema resolvido.
Desculpem-me a falta de atenção.
Grato.

Ataxexe

Gutofbnk:
Opa, achei o erro, problema resolvido.
Desculpem-me a falta de atenção.
Grato.

E por quê não postou qual foi?

Criado 3 de outubro de 2013
Ultima resposta 4 de out. de 2013
Respostas 2
Participantes 2