Na aula 06. Consultas Dnâmicas, vídeo 04 Compondo Specifications. No exemplo, meus campos de cpf, salario e dataContratacao estao indo NULL, no entanto ainda está considerando eles no SQL. Código, exatamente como passado:
List<Funcionario> funcionarios =
this.funcionarioRepository.findAll(Specification
.where(
SpecificationFuncionario.nome(nome))
.or(SpecificationFuncionario.cpf(cpf))
.or(SpecificationFuncionario.salario(salario))
.or(SpecificationFuncionario.dataContratacao(dataContratacao))
);
SQL que está sendo montado pelo Hibernate:
select
funcionari0_.id as id1_1_,
funcionari0_.cargo as cargo6_1_,
funcionari0_.cpf as cpf2_1_,
funcionari0_.data_contratacao as data_con3_1_,
funcionari0_.nome as nome4_1_,
funcionari0_.salario as salario5_1_
from
funcionarios funcionari0_
where
funcionari0_.nome like ?
or funcionari0_.cpf=?
or funcionari0_.salario>0
or funcionari0_.data_contratacao>?
Assim, se eu pesquisar apenas pelo Nome de algum funcioário, está trazendo todos os registros do banco. Alguma dica de como resolver?