Hmm, wieviele Status-Objekte hast Du denn immer so in einer Collection? Wenn es nicht zu viele sind würde ich das eher mit einer Filterfunktion in der Logik realisieren.
Als Abfrage könnte ich mir halt ein Subselect vorstellen, welches zunächst alle Jobs identifiziert, die einen Status finished besitzen. Nun suchst Du alle jobs, deren Id nicht im Ergebnis des Subselects zu finden sind.
Code:
from Job where Job.jobId is not in (select distinct Status.jobId from Status where Status.text is like '%finished%').
Ich habe leider zur Zeit keine direkte Möglichkeit zu testen aber ich denke es wäre ein Ansatz.