Spring boot - Opinião

Olá pessoal.

Trabalho atualmente com Java desktop para área comercial,nós últimos meses tenho me dedicado a trabalhar com micro serviços e tem sido um grande desafio para min,tô gostando muito e tenho visto que o Spring boot facilita muito o desenvolvimento,claro que tudo que tem suas facilidades tbm tem seus problemas,nada é perfeito.
Atualmente sou responsável pelos projetos de uma empresa de pequeno porte,onde dou manutenção e desenvolvo novos módulos e por aí vai.O que quero trazer aqui e uma curiosidade que tenho, estou implementando algumas coisa com Spring boot e tenho tido um desempenho legal por conta de já conhecer bem o Java,mas onde o bixo tá pegando pra min é na questão do Spring data jpa,eu sei pra que serve e sei usar tbm.
O problema que tô enfrentando é que por ser um sistema bem completo e já em produção em bastante clientes tem algumas coisas muito específica,isso da muito trabalho quando se trata de migrar pra um micro serviço, então o que tenho feito é utilizar jdbc pra fazer boa parte das consultas e tudo mais,quando é uma coisa nova ou algo que vejo que dá pra colocar e utilizar jpa eu uso sem problemas,mas na maioria dos casos estou fazendo muita coisa em jdbc,outro detalhe é que não utilizamos jpa+hibernate nos projetos desktop,o que dificulta mais ainda pegar algumas classes com coisas bem específica e passar para jpa.
O que eu queria saber se é algo muito problemático o que estou fazendo, é algo que tenho total domínio por conhecer muito bem as regras de negócio e saber manusear bem o jdbc+sql,outro ponto que tem é que na maioria dos casos são sqls bem complexos,o que dificulta mais ainda eu usar criteria builder ou essas outras coisas do jpa.
A minha estratégia é agora nessa migração fazer como dá,e as novas coisas ir fazendo da forma correta.
Deixo aqui minha opinião,migrar um sistema pronto pra trabalhar para outra forma e bem mais complexo do que parece,qual a opinião de quem já passou por essa experiência e qual a opinião de eu estar fazendo dessa maneira.

Migração é sempre doloroso, mudar a forma como algo é feito ou como foi construído é muito trabalhoso, afinal dependendo do projeto são anos e anos de base de código tocado por N pessoas.

Sobre utilizar JDBC puro eu não julgo ser um problema, inclusive é até uma boa abordagem na minha opinião, tem quem prega que se deve usar fielmente um ou outro, que na minha percepção é conversa de quem não sabe trabalhar com uma determinada tecnologia de forma aprofundada, no seu caso JPA, já vi muita gente falando que utilizar JPA é overhead, e realmente pode ser mesmo, se você não souber utilizá-lo corretamente.

Se cabe o uso de JPA para facilitar, usa JPA, se tem Queries SQL gigantes que demandariam um esforço maior, usa JDBC, aproveite o melhor de cada um dos recursos disponíveis, o único cuidado que fica é não criar uma complexidade desnecessária.

Sim,isso mesmo, é muito fácil pensarmos que migrar um sistema pode ser simples quando estamos falando de projetos pessoais ou de pequeno porte,projetos em produção e de grande porte não e tão simples,o que eu acho mais importante é ter o domínio sobre o código em si,por isso aproveito e uso bastante o jdbc, acredito que aos poucos vou mudando isso nas novas implementações,mas mudar o que já tá feito,testado e em produção é bem mais complico.Obrigado pela sua opinião.

1 curtida

Só faça isso se pagarem por essa migração, que seria um investimento grande. Caso contrário mantenha como está.