Estoy usando Spring 5 en mi proyecto. Hasta hoy había método disponible CrudRepository#findOne.
Pero después de descargar la última instantánea, ¡desapareció de repente! ¿Hay alguna referencia de que el método no está disponible ahora?
Mi lista de dependencias:
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}    
dependencies {
    compile 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtime 'com.h2database:h2:1.4.194'
}
ACTUALIZAR:
Parece que este método ha sido reemplazado por CrudRepository#findById
                    
                        java
                                spring
                                spring-boot
                                spring-data
                                spring-data-jpa
                                
                    
                    
                        Andrii Abramov
fuente
                
                
            fuente

Tenga en cuenta que
findByIdno es un reemplazo exacto defindOne, devuelve un enOptionallugar denull.Al no estar muy familiarizado con las nuevas cosas de Java, me tomó un poco de tiempo darme cuenta, pero esto convierte el
findByIdcomportamiento enfindOneuno:fuente
Optionalse agregó para limpiar el código de todos losnullcontroles. Sólo cambia el tipo de retorno del método y que su usoOptionalcomo un buen chico-Scout debeTuvimos muchos cientos de usos del
findOne()método antiguo . En lugar de embarcarnos en una refactorización gigantesca, terminamos creando la siguiente interfaz intermedia e hicimos que nuestros repositorios la extendieran en lugar de extenderlaJpaRepositorydirectamentefuente
return findById(id).orElse(null);suficienteUna transformación pragmática
Vieja forma:
Nueva manera:
fuente