Bom, tenho uma classe Controller Abstrata que implementa os CRUD’s : criar, alterar, excluir, findAll, findById.
Como ela é abstrata e não sei qual JavaBean utilizará ela, eu optei por sempre trabalhar com OBJECT ( o tipo mais genérico), ou seja, quando for chamar a action “findById” ele retorna um Object, e quando chamar o findAll retrona uma lista de Objects.
Lá no JSF 2 eu sei que devo fazer: {pessoaController.findById.nome}
Porém o findById retorna um Object e não um “Pessoa”, tem como fazer um cast tipo: {((Pessoa)pessoaController.findByid).nome} ?
Mas você está usando um ManagedBean genérico?
Eu estenderia o abstrato em quantos beans fossem necessários, para ter os dados o mais limpo possível nas xhtmls.
Assim, independente de ter um Object retornado do método da superclasse, teria uma subclasse especialista para disponibilizar a informação para a view.
R
rlanhellas
Sim, estou utilizando uma Classe Genérica que fará o CRUD e todos os actions padrões, para não ter que ficar implementando milhares de linhas de códigos iguais.
Bom, se eu estender a action “cadastrar” do ManageBean genérico apenas para retornar um tipo especifico, não tem muita lógica eu criar esse ManageBean Genérico.
No spring eu injeto o Dao do PessoaDAOImpl no PessoaManagedBean
R
rlanhellas
Resolvido já , pode fechar esse tópico rsrs
Daniel_T_S
Como você resolveu?
com a dica do amigo drsmachado?
posta aí.
R
rlanhellas
Na verdade eu resolvi adotando uma outra estratégia:
Criei um DAO Genérico que realiza o CRUD diretamente como o Hibernate. Depois criei uma interface BasicBO, e todos os meus outros BO (PessoaBOImpl, LivroBOImpl) implementam essa interface.