Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Procedures e Functions

Boa noite,

Como faz para executar Procedures e Functions do banco de dados?

Seguindo essa linha de pensamento como seria executar dentro de um mesmo método (Camada Service) uma Procedure e posteriormente uma Function?

1 resposta

Você pode usar a anotação @Query para escrever uma consulta nativa em JPQL ou SQL. Por exemplo, para executar uma Procedure chamada my_procedure que não tem nenhum parâmetro, você pode escrever uma consulta em SQL da seguinte forma:

@Query(value = "CALL my_procedure()", nativeQuery = true)
void callMyProcedure();

ou se você precisar executar uma Function chamada my_function que recebe um parâmetro param e retorna um valor do tipo String, pode fazer o seguinte:

@Query(value = "SELECT my_function(:param)", nativeQuery = true)
String callMyFunction(@Param("param") String param);