Olá Pessoal. Eu estou implementando uma arquitetura usando JEE 6 e, portanto, estou utilizando JSF 2.0.4 na ponta. Está tudo funcionando perfeitamente exceto pelo fato de que eu não consigo acessar um atributo herdado em uma entidade do JPA.
Tenho a entidade Usuario que herda da entidade Pessoa. Os meus Backbeans tem uma superclasse que possuem um atributo chamado entidade (o tipo desse atributo é passado utilizando Generics). No caso do exemplo, o tipo passado via Generics é Usuario. No meu xhtml, quando tento acessar algum atributo de Usuario que seja herdado de Pessoa (atributo ‘nome’ por exemplo), o mesmo aparece como valor ‘null’.
#{pessoaBean.entidade.nome} //Deveria retornar um valor, mas retorna null
E quando tento ‘escrever’ no atributo, no console aparece o erro “target=”#{pessoaBean.entidade.nome}": The class ‘foo.Usuario’ does not have a writable property ‘nome’.".
Percebi que mesmo colocando os atributos como ‘protected’ em Pessoa não resolvia o problema. O único jeito de fazer funcionar foi replicando os get/set dentro da entidade Usuario e marcando como @Transient pra não dar problema com o Hibernate. Só que não quero ter que fazer isso. Além do código ficar horroroso, teria redundância…
Pesquisei bastante na internet mas não encontrei uma solução. Alguém já passou por isso ou sabe como resolver?
Agradeço qualquer ajuda. Obrigado.
Ps.: Estou utilizando CDI (Weld) e JBoss AS 6