Pessoal estou com uma dúvida sobre modelagem e uso de polimorfismo, tenho uma classe pessoa do tipo abstract e classes pessoa física e pessoa jurídica estendendo a classe pessoa, na classe cliente um de seus atributos é do tipo pessoa, como fica esta parte? Cliente pode ser tanto pessoa física como pessoa jurídica. Outra dúvida como fica o bean no caso de cliente ? Na tela teria campos que só tem em pessoa física ou em pessoa jurídica, (cpf , cnpj, nome fantasia, data nascimento), como fazer esta montagem?
Desde já obrigado.
Cara muito simples, pense assim você vai ter a classe pessoa certo?
Você vai ter que criar duas classes uma referente a classe PessoaFisica e outra referente a PessoaJuridica estendendo a classe Pessoa.
O tipo do cliente você identificará quando estender a classe pessoa, ou seja não é necessário você criar um atributo do tipo cliente. Nas suas entidades(classes) você já vai estar dizendo o tipo do cliente.
Em questão do bean do cliente, Eu particularmente crio dois beans sendo cada bean responsável pelo tipo de pessoa.
E no formulário do cliente também crio dois formulários, referente ao formulário do PessoaFisica e o formulário da PessoaJuridica, e em cada formulário informo os valores relevantes ao tipo da pessoa, sendo, a Pessoa Fisica como (cpf, data nascimento) e no formulário da PessoaJuridica informo os valores (cnpj, nome fantasia).
Espero que tenha conseguido tirar suas dúvidas.
Obrigado pela dica, fiz os ajustes conforme sua orientação e ficou legal.