galera tô pagando pau aqui pra poder aninhar uma consulta utilizando jpa. Tenho uma tabela paciente (id,nome,endereco…), tabela dose(id,nome), tabela vacina(id,nome). A consulta abaixo ta funcionando blzinha. ela me retorna todos os registros dos pacientes que tomaram uma determinada dose de uma vacina. só que agora eu quero aninhá-la dentro de uma outra consulta, pra me retornar todos os registros na mesma faixa de idade que não tomaram a tal vacina ou seja, todos os registros menos os registros da primeira consulta.
int codigo=1;
int idade=2;
Query q= em.createQuery("select h from Historico h where h.vacina.id= ?1 and h.dos.nome= :nome and (YEAR(CURDATE())-YEAR(h.paciente.DataNasc))= ?2");
q.setParameter(1, codigo);
q.setParameter(2,idade);
q.setParameter("nome",nome);
Por favor, quem puder me ajudar, eu agradeço muito!