Criteria hibernate inner join e left join

seguinte galera tenho o seguite modelo relacional

SERVICO -> N TAREFAS

TAREFA -> CAMPO TERMINADO

entaum tipo um serviço tem várias tarefas e cada tarefa tem um atributo/campo boolean que indica se está terminada ou naum.

que query posso usar para saber quais servicos só tem tarefas terminadas ou não tem tarefas não terminadas ?

( nossa…q logica burra a minha haauuhahu)

devo utilizar left ou inner join e como seria essa query? com ela consigo fazer a criteria…

essa é a query
alguem sabe fazer isso em criteria?

SELECT S.codigo,T.terminado FROM tab_servico S

  INNER JOIN tab_tarefas T ON t.servico = S.codigo

  WHERE

    (SELECT COUNT(*) FROM tab_tarefas WHERE servico = S.codigo AND terminado = 0) = 0;