Um crud simples, pondo em prática conhecimentos sobre o padrão de desevolvimento MVC (Model View Controller), persistência de dados, configuração de um database, criação e estilização de páginas html, validação de dados in server side, validações personalizadas com JPA validation, mapeamento de entidades para persistência com o JPA e etc, utilizando:
- Java,
linguagem base;
- JPA (Java Persitence API),
- Hibernate,
para persitência de dados;
- PostgreSQL,
banco de dados;
- Spring Framework,
- Spring Boot,
- Spring MVC,
para construção da aplicação web;
- Thymeleaf,
como template, (view) da aplicação;
- Bootstrap,
- javascript,
- css
para estilização das páginas da aplicação;
- Os campos são validados a partir das epecificações da javax.validation e hibernate.validator, porém há também algumas anotações personalizadas.
-
Existem algumas relações entre entidades que correspondem a algumas tabelas no database, como:
- muitos Livros para uma Linguagem (bidirecional).
- muitos Livros para muitos Autores (Bidirecional).
Isso é realizado através das anotações da JPA, como @ManyToOne, @OneToMany, @ManyToMany...
- Operações como deletar, não são realizadas em cascata, por exemplo, é possível deletar um livro, porém seus autores serão mantidos, pois os mesmos podem possuir relações com outras entidades.
Enfim, uma aplição web apenas para fins estudantis.