Je suis en train de migrer mon application vers la dernière version de Spring Data et j'ai du mal à le faire correctement.
Imaginons que j'ai un référentiel avec une seule méthode, afin d'interroger en plus mes entités par nom :
@Repository
interface FooRepository : JpaRepository<Foo, Long> {
fun findByName(name: String): Foo
}
D'après la documentation, dans une telle situation - si l'entité n'est pas trouvée - un message d'erreur est envoyé à l'utilisateur. EmptyResultDataAccessException
seront lancés.
Cependant, je veux aussi pouvoir interroger les entités par leur identifiant. Si j'utilise findById
le résultat sera Optional<Foo>
. Une autre option consiste à utiliser getOne
ce qui, d'autre part, se traduira par EntityNotFoundException
si elle n'est pas trouvée.
Alors, y a-t-il un autre moyen que de tout déplacer vers Optional
, pour avoir une API uniforme en Kotlin ?