Тёмный

Batalhas: JDBC vs JPA, qual é o melhor? 

Giuliana Bezerra
Подписаться 17 тыс.
Просмотров 2 тыс.
50% 1

Esse vídeo traz uma batalha entre JDBC e JPA, ambas alternativas utilizadas para trabalhar com persistência em aplicações Java. Curios@ para saber o resultado? Então assiste o vídeo ;)
🌟 Conheça também os meus conteúdos em outras plataformas:
Blog: / giuliana-bezerra
Curso sobre Spring Batch: tinyurl.com/cu...
Curso sobre otimização com Spring Batch: tinyurl.com/cu...
Curso sobre testes com Spring Boot: tinyurl.com/cu...
Curso sobre AdonisJS: tinyurl.com/cu...
📄 Créditos no vídeo:
* Music by: www.bensound.c...
License code: IEZRXKUSHNCRM8EF
* Imagens utilizadas licenciadas em CC BY-SA-NC (creativecommon...)

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 45   
@giulianabezerra
@giulianabezerra Год назад
E aí, você é time JDBC ou JPA? Eis aqui minha opinião, considerando ambos no contexto do Spring Data: - JPA tem uma robustez interessante devido às suas funcionalidades de mapeamento de entidades e controle transacional, é interessante para pessoas mais iniciantes e também para projetos de monólitos que não dependem de processamento em lote performático. - JDBC é ideal para trabalhar com microsserviços seguindo os princípios do DDD e também para processamentos que requerem muitas escritas com alta performance. Além disso, consultas mais complexas (relatórios com filtros dinâmicos, por exemplo) são mais facilmente implementadas com queries nativas. Então acho que essa batalha é empate, o vencedor vai depender do cenário do produto em questão, e análise de prós e contras (bem resposta de arquiteta mesmo, mas é a verdade 😅).
@ZaineAmanda
@ZaineAmanda 2 месяца назад
Que explicação boa! Obrigada
@elisioricardo
@elisioricardo 3 месяца назад
Perfeita explicação
@investigadorbandeira9192
@investigadorbandeira9192 Год назад
Batalha: banco NoSQL vs banco SQL. Quais os maiores desafios em cada um deles? Qual o que tem preferido?
@giulianabezerra
@giulianabezerra Год назад
Boa! Anotado aqui! 😉
@gabrielsantos-mo2nu
@gabrielsantos-mo2nu Месяц назад
diferente do jdbc e do jpa, esses bancos normalmente são usados na mesma empresa, sad
@juareznasato
@juareznasato 3 месяца назад
Gosto da simplicidade e performance do JDBC;
@danielfreitas9790
@danielfreitas9790 Год назад
Conteúdo de qualidade, show!!!!
@giulianabezerra
@giulianabezerra Год назад
Vlw, Daniel! 🙌
@pedrolobo9835
@pedrolobo9835 Год назад
Simmmmm! Excelente vídeo, quem me dera se tivesse visto esse quando comecei a cavucar no Java nos primeiros meses.
@luciano3141618
@luciano3141618 Год назад
Vou guardar aqui para ver mais tarde. Parabéns pelos vídeos, Giuliana!
@giulianabezerra
@giulianabezerra Год назад
Espero que goste, Luciano!
@arthuralvespsy
@arthuralvespsy Год назад
Eu achei bem legal o tema, principalmente quando estamos falando a nível de escala, hoje sofro do problema que você citou referente aos batches, por infelicidade a equipe está utilizando o Quartz, entretanto voltando ao tema, eu creio que tudo depende, normalmente o spring data vai ter retrocompatibilidade, então se fosse para recomendar algo dependendo dos requisitos deveríamos sempre aplicar dois conceitos que é o YAGNI e o KISS.
@giulianabezerra
@giulianabezerra Год назад
Concordo, se a pessoa dev não criar um código prezando pelas boas práticas, não importa a escolha que faça, nem o jpa nem o jdbc farão milagre. Mas pensando em performance, eu costumo ir pro jdbc mesmo.
@carloseugenio1609
@carloseugenio1609 Год назад
KISS eu sei, mas o que é YAGNI? 😊
@arthuralvespsy
@arthuralvespsy Год назад
@@carloseugenio1609 é um acrônimo para you aren’t gonna need it, basicamente evitar soluções complexas e over engineering
@wellingtonfernandes1364
@wellingtonfernandes1364 Год назад
Excelente contéudo! Sugestão de batalha, Maven vs Gradle.
@giulianabezerra
@giulianabezerra Год назад
Vlw, Wellington! Adorei a sugestão!
@TiberioCoelhoInacio
@TiberioCoelhoInacio Год назад
JDBC é mais codificado, fazendo direito é sem estresse é rápido e confiável para alta performance. já o JPA é mais rápido para desenvolver apesar do código grande, é lento, já descarto para projetos de alta performance e quando fiz um jar no projeto em Javaswing deu erro para criar o jar.
@giulianabezerra
@giulianabezerra Год назад
Boa, Tibério! JDBC é bastante direto mesmo, quando se tem conhecimento sobre sql, é uma mão na roda para rapidamente construir consultas nativas e performáticas.
@andresoare5
@andresoare5 Год назад
Quando crescer quero ser igual vc 😆parabéns pelo conteúdo muito bom 👏👏
@giulianabezerra
@giulianabezerra Год назад
Obrigada pelo apoio, Andre! 🤝
@siicap8197
@siicap8197 Год назад
Opa, tô eu novamente aqui pra dizer que o vídeo foi top e agradecer mais uma vez pelo conteúdo e pela disponibilidade. Um batalha que eu acho que seria interessante era do JSF x Spring .
@giulianabezerra
@giulianabezerra Год назад
Que bom que curtiu! Jsf acho que daria pra comparar com frameworks spa, mas acho que em qualquer batalha ele não teria chances 😄
@pedrolobo9835
@pedrolobo9835 Год назад
Olá, sou novato no Java e vim dar meu pitaco, mesmo que tenha que discordar um pouco. Acredito que o melhor para Jr. é estudar na ordem SQL -> JDBC -> JPA, por conta da experiência que tive. Primeiro aprendi SQL e conseguia me virar bem, inclusive criava relacionamento entre tabelas, triggers e subqueries. Depois fui introduzido ao Hibernate através desses tutoriais de CRUD de Springboot. Eu era até capaz de reproduzí-los, mas ficava muito limitado, pois não conseguia criar nada com mais de uma tabela. O seu curso lá de testes por exemplo, eu consegui fazer a API dos planetas, mas se tivesse que inserir luas para eles em uma tabela separada (que para mim me soa mais elegante) eu não conseguiria. Então dei um passo para trás e fui estudar o JDBC para entender como o misturar Java com SQL. Agora me soa mais natural usar as anotações do JPA para que possa trocar o ORM Hibernate para algum outro se necessário.
@giulianabezerra
@giulianabezerra Год назад
Pedro, como é bom ouvir opinião de pessoas que passaram por esse aprendizado em desenvolvimento! Eu também aprendi primeiro sql e depois orms, mas isso durante o curso de ciência da computação. O que eu gosto do JPA para iniciantes é a facilidade em criar algo rapidamente, sem ter que aprender muita coisa antes, abstraindo mesmo o que é feito por baixo dos panos pelos ORMs. Mas é claro que ainda seria necessário ter noções de banco de dados relacionais, para entender os mapeamentos de entidades, etc. Não sei se todos vêem dessa forma, mas eu quando aprendo algo novo tenho aquela vontade de ver algo rodando, senão não sinto que aprendi. E acho que é meio assim com JPA, dá pra criar algo rápido, no JDBC + SQL é necessário mais conhecimento da camada de banco para conseguir criar uma consulta que funcione.
@viniciusgs
@viniciusgs Год назад
Eu comecei aprendendo SQL + JAVA, JDBC e por último JPA. Essa sequência facilitou muito o entendimento do JPA, pois eu conseguia entender o que estava acontecendo por debaixo dos panos.
@giulianabezerra
@giulianabezerra Год назад
@@viniciusgs , que bacana teu feedback! Eu tô gostando de saber que a maioria dos viewers tem essa vontade de entender o "por baixo dos panos". Mas no mundo lá fora eu vejo mais o contrário, as pessoas querem fazer funcionar e da forma mais ágil possível. Os ORMs acabam trazendo resultados mais rápidos e por isso acabam sendo usados antes mesmo da pessoa dev entender o JDBC e SQL mais a fundo. Por isso os ORMs acabam sendo mais "dev friendly". Mas concordo que com o conhecimento do JDBC e SQL, os ORMs são bem mais tranquilos de usar e manter.
@arthuralvespsy
@arthuralvespsy Год назад
Vou sugerir uma batalha que normalmente é perguntado nas entrevistas aqui na Europa: diferenças entre os Java garbage collector strategy ( serial, parallel, cms, g1, zgc)
@giulianabezerra
@giulianabezerra Год назад
Que legal, vou anotar aqui! 🙏
@thiagoematos
@thiagoematos Год назад
Fala Giuliana, comecei a alguns meses a lhe acompanhar aqui no youtube e tem me ajudado muito no meu trabalho... as aulas sobre spring batch me salvaram. Seguinte.... estou passando pelo cenario de precisar de consultas mais complexas justamente para relatorios com filtros dinamicos e estou precisando usar queries nativas... estou com medo, porem, futuramente quando eu for dar manutencao nessas queries... por exemplo, se eu alterar o nome de um campo, vou ter que sair catando em todas as queries do sistema onde esta sendo usado aquele campo daquela tabela.... por acaso, voce teria aluma indicacao de alguma abordagem, biblioteca ou framework que poderia me auxiliar e facilitar o trabalho de dar manutencao nessas sql complexas? Grato :)
@giulianabezerra
@giulianabezerra Год назад
Olá, Thiago! Fico feliz que tenhas curtido os conteúdos. Sobre sua excelente pergunta tenho uma dica de ouro: usar views. Ao invés de colocar consultas sql espalhadas pelo código, vc pode criar uma view no banco e assim desacoplar os detalhes de infra da sua aplicação. Caso precise mudar uma coluna, é só atualizar essa view no banco, a aplicação não será afetada pois ela não enxerga os detalhes, apenas chama a view. Essa é uma técnica bastante usada e indicada inclusive pelo Sam Newman, como estratégia de desacoplamento para bancos monolíticos. 😎
@thiagoematos
@thiagoematos Год назад
@@giulianabezerra Valeu pela dica Giuliana. Vou pensar a respeito e pesquisar mais sobre o assunto. Nunca tinha me ocorrido essa abordagem. Eu tava pesquisando sobre fazer com alguma DSL tipo jooq. Amanha ja vou conversar com a equipe sobre essa solucao. Obrigado pelos excelentes conteudos e sucesso para voce. 🤝
@javudo264
@javudo264 Год назад
Na boa... Vc é muitooo fera😅
@julianoosmir1897
@julianoosmir1897 Год назад
sugestão de batalha : IDEs para java, eclipse vs netbeans vs intellij vs visual satudio code
@giulianabezerra
@giulianabezerra Год назад
Anotado!
@andresoare5
@andresoare5 Год назад
nem deveria existir essa batalha, intellij comunity muittoooooo melhor que as demais, imagina a versão ultimate hahaha
@giulianabezerra
@giulianabezerra Год назад
@@andresoare5 , kkkk, sei não viu, acho muito ruim a versão comunity não ter integração com o Spring Initialzr, até o vscode tem isso! E a versão Ultimate tem que ser um barão do petróleo pra bancar $.$
@erigamonte
@erigamonte 8 месяцев назад
Rest vs graphql
@pauloseibel
@pauloseibel Год назад
Só uma questão: JPA não é uma especificação que orienta como criar uma solução de conexão e persistência a BD? E o Spring Data e o Hibernate (ORMs) é a implementação dessa especificação?
@giulianabezerra
@giulianabezerra Год назад
Exatamente, Paulo! JPA é a spec, hibernate a implementação. Se eu não tiver passado essa informação claramente no vídeo me perdoe.
@pedrolobo9835
@pedrolobo9835 Год назад
TortoiseSVN vs. git. Kkkkk
@giulianabezerra
@giulianabezerra Год назад
Kkkk, isso aí é maldade viu?
Далее
JDBC Tutorial - Crash Course
23:40
Просмотров 26 тыс.
Aprenda a pensar como um arquiteto de software!
10:28
Просмотров 2,7 тыс.
Respondendo questões polêmicas sobre TI
18:16
Просмотров 4,3 тыс.