Spring Data JPA, a un paso de Ruby On Rails

Estaba leyendo la referencia de Spring Data JPA y me he quedado asombrado. ¡Te da todo prácticamente hecho para el Repository(equivalente a DAO)!

Simplemente creas una intefaz que extienda de JpaRepository, por ejemplo:

Después lo inyectas (no se puede inyectar una interfaz, sino que Spring crea en tiempo de ejecución una clase que cumple dicha interfaz) donde quieras:

(La clase Lists pertenece a guava)

¡Y ya está! ¡No hay que implementar nada más!

OMG, YESPero eso no es todo. Spring no sólo implementa todos los métodos de JpaRepository siguientes:

sino que, además, implementa automáticamente los métodos que poseen un nombre según unas reglas, como por ejemplo en UserRepository:

La sintaxis aparece en la referencia de Spring Data JPA sobre los keyworks soportados en nombres de métodos.

Casi como en Ruby On Rails :)

OMG O

Bueno… hay que configurar JPA y Spring Data JPA (en la referencia), claro :)