Preciso realizar uma explicação detalhada antes para entender o meu contexto;
Fiquei sem emprego alguns dias atrás, minha função era suporte técnico, e ao estar desempregado conseguir enxergar a oportunidade de me aprofundar meus conhecimento em desenvolvimento em java e criar um sistema Java Web.
Essa semana acabei de enviar o meu projeto para nuvem, e a principio coloquei a autenticação de usuário direto no código Java, agora com mais calma decidir deixar o meu projeto mais organizado e colocar o Login e senha do usuário inserido em banco, para que seja realizado a autenticação buscando os dado do banco, porém essa parte do código para mim está sendo muito difícil de implementar, e quando fui pesquisar para saber como fazer descobrir que a implementação de qualquer sistema pode ser feito de duas formas;
-
A criação do banco pode ser feita através do Hibernate, ou seja, a própria aplicação vai criando as entidades através do mapeamento no modelo Model de forma automática no ato de submeter um formulário.
-
Ou posso migrar o banco ao poucos criando os códigos SQL para criar as tabelas e ao mesmo tempo realizando o mapeamento, porém quem fica responsável em criar as tabelas é o desenvolvedor e não aplicação através do Hibernate, uma opção seria através do Flyway
Eu gostaria de saber com os senhores qual é o mais recomendado na criação de sistemas, o próprio desenvolvedor criar o banco de dados ou deixar essa responsabilidade para aplicação através do Hibernate?
Eu não gostaria de esperar uma resposta meio termo, porque tem pessoas que poderiam me responder dizendo que vai depender da aplicação, eu não concordo com essa teoria.
desde já agradeço a atenção e esperando por uma resposta.