Dúvidas sobre recomendações em modelagem de banco

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.

Isso vai da preferência e experiência de cada um. Eu prefiro ter o controle do que estou fazendo, com meu próprio SQL enxuto, para evitar surpresas e lidar mais rapidamente com problemas, sem perder tempo quebrando a cabeça com recursos intermediários de ORM quando o bicho pega. Por experiencia nunca passei por nenhuma empresa que gerasse schema de banco relacional através de modelo OO, pois a modelagem sempre foi de fato relacional, logicamente por todos os bancos que trabalhei serem relacionais.

Independente da escolha, analise, mas nunca faça tudo de uma vez. Faz por partes, priorizando o que o cliente mais precisa ter de entregável que já seja útil pra ele usar.

1 curtida