1
resposta

Problema no Specification para uma classe model que é filha

Estou fazendo uma consulta simples com o specification mas como a class q estou consultando herda de outra classe, acredito que o specification está pegando a class pai. Minha suspeita é porque no erro ele avisa que não tem um atributo na classe pai.

Repare que chega tudo certo, o valor 4 da variavel coComunicado Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porem quando vou olhar o valor do root.get("coComunicado") ele me apresenta esse erro que não existe o coComunicado na classe ComumModel que é a pai de Comunicado, Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como eu faço para forçar o uso da classe filha e não da classe pai?

1 resposta

Olá Alex, tudo bem?

Pelo que entendi, você está tendo problemas ao utilizar o Specification em uma classe que herda de outra classe, correto? Isso pode acontecer porque o Specification está pegando a classe pai em vez da classe filha.

Uma solução para esse problema é utilizar o método join do objeto Root para acessar os atributos da classe filha. Por exemplo, se a classe filha tiver um atributo chamado atributoFilho, você pode acessá-lo da seguinte forma:

root.join("atributoFilho").get("nomeDoAtributo")

Dessa forma, você estará acessando o atributo da classe filha e não da classe pai.

Espero ter ajudado e bons estudos!