A tabela pessoa física possuí a FK clienteid para se relacionar com a tabela cliente
Tentei fazer da seguinte forma:
…
<form id=“clientesForm” action="<c:url value="/clientes"/>" method=“POST”>
Dados do cadastro (Cliente)
<input type="hidden" name="cliente.id" value="${cliente.id }" />
<label for="nome">Nome:</label>
<input id="nome" type="text" name="cliente.nome" value="${cliente.nome }"/>
<label for="cnh">Número da CNH:</label>
<input id="cnh" type="text" name="cliente.cnh" value="${cliente.cnh }"/>
<label for="email">E-mail:</label>
<input id="email" type="text" name="cliente.email" value="${cliente.email }"/>
<input type="hidden" name="pfisica.id" value="${pfisica.id }" />
<label for="cpf">CPF:</label>
<input id="cpf" type="text" name="pessoafisica.cpf" value="${pessoafisica.cpf }"/>
<input type="hidden" name="pessoafisica.clienteid" value="${cliente.id }" />
<button type="submit">Enviar</button>
</fieldset>
</form>
…
na action (classe de controller) coloquei:
…
@Post @Path("/clientes")
public void adiciona(final Cliente cliente, final PessoaFisica pfisica) {
cdao.salva(cliente); //método da ClienteDAO
pfdao.salva(pfisica); //método da PFisicaDAO
result.use(logic()).redirectTo(ClientesController.class).lista();
}
…
mas gera um erro de NullPointer.