Este projeto é um desafio para implementar os melhores conceitos do framework Spring Boot. Ele inclui várias tecnologias e práticas recomendadas para o desenvolvimento de aplicativos robustos e escaláveis.
- JPA e Hibernate: Utilizados para mapeamento objeto-relacional e gerenciamento de entidades no banco de dados.
- Repository: Utilizado para abstrair as operações de acesso a dados.
- Models: Classes que representam as entidades do sistema.
- DTOs (Data Transfer Objects): Utilizados para transferir dados entre camadas do aplicativo.
- Swagger Documentation: Documentação automatizada da API usando o Swagger para facilitar a compreensão e teste da API.
- Query Nativa com JPA: Utilização de consultas SQL nativas para operações específicas no banco de dados.
- Metadados com Anotações: Utilização de anotações para fornecer metadados adicionais sobre as classes e métodos.
- Services de Aplicação: Camada de serviço que encapsula a lógica de negócios da aplicação.
- Testes Unitários: Testes automatizados para garantir a qualidade e integridade do código.
- ExceptionHandler: capacidade de lidar com exceções de maneira centralizada e consistente em toda a aplicação.
- Lombok: biblioteca para Java que permite reduzir a quantidade de código boilerplate (código repetitivo e de baixo valor) em projetos Java.
- Mapper: Usado para gerenciamento de objetos do dto, tanto para pojo <-> object/json
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Você instalou a versão mais recente do
JAVA
?, usamos a vs17 nesse projeto. - Configuração do banco de dados compatível com o Spring Boot
- Conhecimento básico de Spring Boot e JPA/Hibernate
Para contribuir com hibernate-jpa, siga estas etapas:
- Bifurque este repositório.
- Crie um branch:
git checkout -b <nome_branch>
. - Faça suas alterações e confirme-as:
git commit -m '<mensagem_commit>'
- Envie para o branch original:
git push origin main / <local>
- Crie a solicitação de PR.
Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull.