Bom dia a todos, seguinte tenho uma estrutura assim abstract Pessoa com Herança Single Table, PessoaFisica e Juridica extend de Pessoa… até ai nada d +
Se a Row for de um Cliente PJ ele vai dar pau quando tentar busca por #{cliente.pessoa.nome}
Tem como saber de que classe é o objeto dentro da pagina xhtml? só pelo campo criado pelo hibernate no SingleTable
Você deu uma olhada na Herança com estrategia JOINED?
eu passei pelo msmo problema e consegui resolver adotando essa estrategia
se você for mudar de estrategia e precisar de ajuda me da um toque
flw
Hebert_Coelho
O ideal é você pesquisar apenas por um tipo ou apenas por outro.
Mas tem outras duas saídas:
Deixar apenas um <p:column> e dentro dele colocar um outputText com rendered="#{not empty cliente.pessoa.nome}" e um para apenas empty em cima do nome também.
Criar um método na sua classe, getNomePessoaDeQualquerTipo que aí retornaria uma String com o nome e não precisaria de lógica na página.
colored
Então, eu tinha até pensado no rendered mas como n to com sistema aki pra testar. achei q se fosse um PJ e fosse mesmo testar not empty na propriedade ia dar exception q nao existia o campo…
Em Relação a pesquisar por 1 tipo e por outro… vai rolar… mas com certeza uma hora ou outra vai precisar pesquisar no geral…
Mas eu imaginei que conseguisse saber de q classe é o objeto, pelo JSF, por no Mapeamento do Single Table ele deixa uma coluna dizendo o type da class… mas n sei como recuperar aquilo dentro do xhtml…
por que outra saida tb seria colocar por exemplo um tipo na class pessoa. ai eu teria um atributo com essa informação, e faria rendered nas colunas dependendo do type.
Hebert_Coelho
Para criar um método que informe se o cara é PJ ou não é mole:public boolean isPj(){
return cnpj != null && !cnpj.trim().equals("");
}Mas tem que colocar CNPJ como obrigatório para PJ. [=
colored
Então Jake, na classe teria milhares de formas…
if(objectinstanceofPJ){
}
Tem essa sua, só q eu imaginava que tivesse algo no xhtml p eu saber isso compreende… mas blz provavelmente eu esteja querendo d+ kkkkk…
Mas vlw ja deu uma boa esclarecida valeu mano.
Hebert_Coelho
colored:
Então Jake, na classe teria milhares de formas…
if(objectinstanceofPJ){
}
Tem essa sua, só q eu imaginava que tivesse algo no xhtml p eu saber isso compreende… mas blz provavelmente eu esteja querendo d+ kkkkk…
Mas vlw ja deu uma boa esclarecida valeu mano.
Só toma cuidado que em muitos casos instanceof é considerado má pratica. ^^
colored
Aé? kkkkk…
E qual seria a boa prática pra esse caso?
Hebert_Coelho
colored:
Aé? kkkkk…
E qual seria a boa prática pra esse caso?
Eu prefiro a consulta por certo tipo. C não tiver opção, você realmente terá que utilizar o instanceof. =/