Quarkus #4: CRUD com Hibernate e Spring Data

Bruno Mancini
2 min readJun 5, 2020

--

Photo by Shot by Cerqueira on Unsplash

Fala pessoal, blz ?

Hoje vamos aprender como criar nossas API persistindo em um banco. Para isso utilizaremos o mesmo cenário do Post anterior:

Uma API de RH e o recurso que trabalharemos é que trata o cadastro de funcionários.

Vamos começar pela configuração, primeiro vamos entender as dependências necessárias para configuração da nossa camada de persistência. Abaixo segue a lista de depende necessárias:

  • A primeira dependência é o Hibernate usada para fazer mapeamento do objeto relacional.
  • É a dependência do Spring que nos auxilia a criação dos nossos repositórios de dados.
  • E por ultimo e não menos importante é o nosso drive, no meu caso estou utilizando o Postgres.

Agora vamos vamos a configuração do nosso datasource, onde informamos dados relativos ao nosso banco, tais como: usuário, senha, endereço do banco, o nome do banco de dados, etc. Esse tipo de configuração fica no nosso arquivo application.properties dentro da pasta resources na raiz de seu projeto. Vamos dar uma olhadinha nele:

Feito isso agora vamos partir para criação da nossa entidade Funcionario.

Abaixo podemos notar que primeiro, anotamos a classe como Entity e Table. Anotamos também propriedade id com @Id, pois, esse campo será a nossa chave primária. Isso é o suficiente para o mapeamento da nossa tabela de funcionário.

Agora de vamos criar o nosso repositório:

Note que criamos uma interface chamada FuncionarioRepositorio no qual estendemos uma outra interface JpaRepository. Com isso só com isso ganhamos um repositório genérico com varias operações comuns do nosso dia dia.

Agora vamos ao nosso recurso.

Acho que vale a pena prestar atenção na prestar atenção nas linhas #18 e #19, onde fazemos a injeção do nosso repositório. Uma vez injetado o repositório temos diversos métodos a disposição, estamos utilizando

  • save: utilizado para persistir ou atualizar um objeto
  • findAll: busca todos os registros
  • deleteById: deleta registro pelo id

Tudo bem fácil !

Aqui segue o endereço do repositório onde você pode encontrar esse e outros exemplos.

Bem gente é isso vou ficando por aqui.

--

--