Могу ли я просто уточнить ваши требования? Вы говорите, что хотите вернуть конкретного кандидата и иметь коллекцию позиций кандидата только для того, чтобы она содержала позицию с указанным идентификатором позиции?
Если так, я не думаю, что это работает так. Вы указываете, что хотите получить кандидата с указанным идентификатором, который связан с позицией с указанным идентификатором. Как только кандидат загружен, он затем загружает (лениво или иным образом) все связанных позиций этого кандидата. Это правильное поведение, поскольку кандидат всегда должен иметь доступ ко всем связанным объектам.
Я думаю, вам нужно загрузить кандидата, а затем выполнить поиск в Позиции для поиска Позиции с требуемым идентификатором.