Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Usar JPA ou JDBC DAO?

Pessoal vou criar uma API Rest usando SpringBoot. Em relação ao bd, já existe o banco criado em PostgreSQL com stored procedures criadas que atende um sistema legado. Qual a melhor solução para acessar as stored procedures na API usando Spring Data JPA ou JDBC DAO?

8 respostas

Thiago eu só usaria jpa ou jdbc direto se o spring data não desse suporte

Você sabe como chamar stored procedure no spring data é possível?

Olá Tiago!

É possivel sim! Existe uma annotation @Procedure.

Tem um artigo que explica bem como fazer:

https://medium.com/@senanayake.kalpa/calling-stored-procedure-using-spring-jpa-ee37fa58ca2d

Espero ter ajudado! :D

em relação a utilizar Spring Data JPA ou JDBC tem algum melhor nesse caso de SP ou somente gosto mesmo?

O Spring Data JPA te trará mais facilidade para implementar as SP's pois já possui annotations prontas que resolvem seu problema! :D

Olá Tiago!

Você tem mais alguma duvida?

Se tiver, manda pra gente! ^ ^

Caso contrario, gostaria de pedir para fechar o tópico por favor! :D

Tentei usar o @procedure sem sucesso seguem os códigos abaixo:

@Entity
@NamedStoredProcedureQuery(name = "buscaTodosCarros", procedureName = "BUSCA_TODOS_CARROS")
public class Carro implements Serializable{

    @Id    
    private Integer id;
    private String modelo;
    private Integer ano;
@Repository
public interface CarroRepository extends JpaRepository<Carro,Long>{

    @Procedure(name = "buscaTodosCarros")
    public List<Carro> buscaCarros();
}

Ao subir o SpringBoot ocorre o seguinte erro:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property buscaCarros found for type Carro!

Sabem como resolver???

solução!

Resolvi o problema usando query native no Spring Data JPA. vou analisar a documento do Spring JDBC Template para verificar se é uma solução viável.