OBS: jpamodelgen irá gerar classes de metamodelo estático de nossas entidades, podemos usar Entity.campo em nossas consultas de critérios em vez de usar diretamente nomes de campo de string de nossas entidades. Um grande benefício disso é que as consultas que usam o metamodelo evoluem com as entidades e são muito mais fáceis de refatorar do que as consultas de string;
As especificações são construídas sobre a Criteria API.
É necessário adicionar as dependências:
OBS: jpamodelgen irá gerar classes de metamodelo estático de nossas entidades, podemos usar Entity.campo em nossas consultas de critérios em vez de usar diretamente nomes de campo de string de nossas entidades. Um grande benefício disso é que as consultas que usam o metamodelo evoluem com as entidades e são muito mais fáceis de refatorar do que as consultas de string;
ATENÇÃO: NÃO CONSEGUI RODAR O METAMODEL.
Referência:https://www.baeldung.com/hibernate-criteria-queries-metamodel
Referência:https://reflectoring.io/spring-data-specifications/