Consulta con sort () y limit () en la interfaz de Spring Repository

Soy nuevo en Spring Data con MongoDB y me gustaría tener un método de consulta generado automágicamente dentro de mi interfaz de extensión MongoRepository que requiere filtrado, clasificación y limitación.

La consulta se ve así:

<code>// 'created' is the field I need to sort against

find({state:'ACTIVE'}).sort({created:-1}).limit(1)
</code>

La interfaz del repositorio se ve así:

<code>public interface JobRepository extends MongoRepository<Job, String> {
    @Query("{ state: 'ACTIVE', userId: ?0 }")
    List<Job> findActiveByUserId(String userId);

    // The next line is the problem, it wont work since
    // it's not in the format @Query expects
    @Query("find({state:'ACTIVE'}).sort({created:-1}).limit(1)")
    Job findOneActiveOldest();

    ...
}
</code>

Sé que se puede agregar un argumento de clasificación a un método de consulta para obtener la clasificación, pero el problema es limitar los resultados a un solo objeto. ¿Se puede hacer esto sin tener que escribir un JobRepositoryImpl personalizado?

Gracias

Editar:

Ejemplo de lo que estoy buscando:

<code>@Query("{ state:'ACTIVE', $orderby: {created:-1}, $limit:1 }")
Job findOneActiveOldest();
</code>

o

<code>@Query("{ state:'ACTIVE' }")
@Sort("{ created:-1 }")
@Limit(1)
Job findOneActiveOldest();
</code>

Pero esto obviamente no funciona :(

Respuestas a la pregunta(2)

Su respuesta a la pregunta