Olá, boa tarde. Tenho a classe Endereco:
@Embeddalbe
public class Endereco {
private String rua;
get e set
}
e a classe Funcionario:
@Entity
public class Funcionario {
@Id
@GeneratedValue
private Long id;
private String nome;
private Endereco endereco;
get e set
}
Usando uma classe java, eu consigo inserir os dados de endereco em funcionarios sem problema:
public class InsereFuncionario {
session...
Endereco e = new Endereco();
e.setRua("teste");
Funcionario f = new Funcionario();
f.setNome("teste");
f.setEndereco(e);
save
commit...
}
Porém, não estou sabendo fazer esta inclusão via web, usando JSF. Tenho o FuncionarioHandler que funciona perfeitamente sem o endereco (sem inclusão no banco ainda - só para teste):
public class FuncionarioHandler {
Funcionario f = new Funcionario();
private List<Funcionario> funcionarios = new ArrayList<Funcionario>();
private Long count = 0L;
public String salva(){
this.f.setId(++count);
this.funcionarios.add(f);
this.f=new Funcionario();
return "sucesso";
}
E o jsp:
<h:inputText value="#{funcionarioHandler.f.nome}"/>
E se eu coloco
<h:inputText value="#{funcionarioHandler.f.endereco.rua}"/>
Não dá erro no jsp (ele reconhece o caminho especificado para rua). Porém na execução dá erro :
‘#{funcionarioHandler.f.endereco.rua}’ Target Unreachable, ‘endereco’ returned null
Como eu tenho que fazer para conseguir inserir os dados de endereço pelo jsp e o sistema enxergá-los corretamente, da mesma forma que acontece quando faço com uma classe java normal?
Grato, Carlos.