1
resposta

Nomes alternativos de métodos do repository usando métodos default.

No final da aula, é mostrado que posso criar nome alternativos para os métodos usando a anotação @Query:

public interface TopicoRepository extends JpaRepository<Topico, Long> {

    List<Topico> findByCursoNome(String nomeCurso);

    @Query("SELECT t FROM Topico t WHERE t.curso.nome = :nomeCurso")
    List<Topico> carregarPorNomeDoCurso(String nomeCurso);

}

Mas uma coisa que eu experimentei e deu certo foi usar os métodos default das interfaces que passaram a existir a partir do Java 8:

public interface TopicoRepository extends JpaRepository<Topico, Long> {

    List<Topico> findByCursoNome(String nomeCurso);

    default List<Topico> carregarPorNomeDoCurso(String nomeCurso) {
        return this.findByCursoNome(nomeCurso);
    }

}

Isso seria uma outra alternativa.

1 resposta

Oi Rafael,

Realmente essa é uma alternativa interessante.

Valeu por compartilhar!

Bons estudos!