Ich habe die Protokollebene des Ruhezustands auf TRACE gesetzt und das Problem gefunden. Es war eigentlich ein Zuordnungs-/Logik-/Datenbankfehler. Der Primärschlüssel bestand aus zwei Spalten (entsprechend der Entitätsklasse) und eine dieser Spalten war nullable. Ein Primärschlüssel kann jedoch niemals nullable sein. Daher hat Hibernate immer null zurückgegeben.