2017-05-21 25 views
7

私は自分のプロジェクトでSpring 5を使用しています。今日まで利用可能な方法はCrudRepository.#findOneでした。Missing CrudRepository#findOneメソッド

最新のスナップショットをダウンロードした後、突然消えました!このメソッドが現在利用できないという参考資料はありますか?

マイ依存リストは:

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-validation' 
    compile 'org.springframework.boot:spring-boot-starter-web' 
    compile 'org.springframework.boot:spring-boot-starter-data-jpa' 
    runtime 'org.springframework.boot:spring-boot-devtools' 

    runtime 'com.h2database:h2:1.4.194' 
    compile 'org.projectlombok:lombok:1.16.14' 
    compile 'org.modelmapper:modelmapper:0.7.5' 


    testCompile 'org.springframework.boot:spring-boot-starter-test' 

    testCompile 'org.codehaus.groovy:groovy-all:2.4.10' 

    testCompile 'cglib:cglib:3.2.5' 
    testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' 
} 

UPDATE:

が、この方法はCrudRepository#findById

答えて

11

に置き換えられているようだ、次のリネームを有しているthis commitに関連付けられているDATACMNS-944をご参照ください

  • findOne(…) - >findById(…)
  • save(Iterable) - >saveAll(Iterable)
  • findAll(Iterable<ID>) - >findAllById(…)
  • delete(ID) - >deleteById(ID)
  • delete(Iterable<T>)
  • - >deleteAll(Iterable<T>)
  • exists() - >existsById(…)
0

A

Entity aThing = repository.findOne(1L); 

新しい方法:実用的

古いやり方変換

Optional<Entity> aThing = repository.findById(1L); 
2

注findByIdがfindOneのための正確な代替ではないことを、それはオプションの代わりに、ヌルを返します。

新しいJavaのものと非常に慣れていないなので、それは把握する私に少し時間がかかりましたが、これはfindOneに1 findById行動を回す:

return rep.findById(id).orElse(null); 
関連する問題