Tap to unmute

Problema N+1 Consultas - Estudo de caso com Spring e JPA

  Рет қаралды 16,287

DevSuperior

DevSuperior

Күн бұрын

Пікірлер: 73
@victorluis5431
@victorluis5431 4 жыл бұрын
Dá vontade de passar um ano estudando com esse professor essas aulas praticas, valeria mais que os anos de faculdade...
@MaxGyn2023
@MaxGyn2023 4 жыл бұрын
Com certeza
@kennedycosta4355
@kennedycosta4355 2 жыл бұрын
Concordo completamente.
@alissonvieira4006
@alissonvieira4006 2 жыл бұрын
Nélio, muito boa suas aulas e com uma didática bem bacana. Estava vendo essa aula para entender melhor o conceito do N+1 e lembrei que tinha passado por essa situação e consegui resolver de uma forma mais simples, fazendo as duas consultas, uma para trazer a lista de objetos e outra para fazer o count, mudando somente a classe product repository do seu projeto do github, como segue abaixo. abs public interface ProductRepository extends JpaRepository { @Query(value = "select p from Product p join fetch p.categories", countQuery = "select count(p.id) from Product p ") public Page findAllProductsWithCategories(Pageable pageable); }
@prof.felipesalles3750
@prof.felipesalles3750 2 жыл бұрын
Puta merda... abriu a mente demais! Parabéns professor.
@gustadev276
@gustadev276 5 ай бұрын
Hahahaha, que aula irada, obrigado pela aula professor!
@pedropinheiro4334
@pedropinheiro4334 Жыл бұрын
Você sabe muito mano. Tô aprendendo demais Na vdd são 3 três consultas pq tem count vou ver de novo pra entender o final
@pauloafpjunior
@pauloafpjunior 4 жыл бұрын
Melhor aula sobre esse assunto que eu já vi aqui no YT. Parabéns, professor.
@IcaroAugustoRodriguesdeFreitas
@IcaroAugustoRodriguesdeFreitas 5 ай бұрын
Show de bola, parabéns pelo conteúdo !
@dirleypinto3065
@dirleypinto3065 3 жыл бұрын
Antes de eu tecer meus cometário da solução aplicada eu preciso elogiar sua didática que é fantástica. Realemente um diferencial. Parabéns Nélio. Vamos lá. Eu tenho 52 anos. Então vim do dbase, clipper, basic, vb, delphi, ASP clássico, .net, pl sql, java... Eu não posso olhar para a solução aplicada e achar que é a coisa mais simples e clara do mundo. Se essa for a única saída ou a mais simples ou usual, meu deus do céu (rs). Eu achei que a solução dá uma enganada na JPA. Não é algo que eu olhe e diga... uau, o java ou jpa é fantático! Não é intuitivo, entendem? Na minha cabeça procedural é muito mais simples escrever a query inteira e colocar um limit ou rownum < n.
@edsainf
@edsainf 4 жыл бұрын
Esse vai ser o maior e mais completo canal de java do KZbin em pouco tempo podem apostar. Quem fez algum curso com ele sabe bem o que estou falando.
@marcellolima317
@marcellolima317 Ай бұрын
Muito bom!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@rodrigocardoso5120
@rodrigocardoso5120 4 жыл бұрын
Caramba que didática incrível, quero mais... Por favor professor faça um vídeo fazendo um projeto desse do 0 explicando tudo por detalhes.
@yurigoncalves6177
@yurigoncalves6177 2 жыл бұрын
Mermão... esse professor é fera
@albertocarvalho4931
@albertocarvalho4931 2 жыл бұрын
Eu estava pesquisando outras formas de fazer esse tipo de consulta paginada mais até esse momento só encontrei auqui, até mesmo na documentção do spring data jpa não eiste muita coisa sobre, show foi uma ótima aula.
@vr09nit
@vr09nit 2 жыл бұрын
Parabéns pela didática!
@lglf77
@lglf77 3 жыл бұрын
Eu deixo um JOINHA pra você sim
@ungaratto93
@ungaratto93 Жыл бұрын
Sensacional, sempre.
@Wilrrama
@Wilrrama 3 жыл бұрын
Show de Bola
@RobsonCassianoSoftware
@RobsonCassianoSoftware 2 жыл бұрын
Sensacional, muito obrigado!
@SergeCABA
@SergeCABA 2 жыл бұрын
Nélindo Alves
@gabrielpereiramendes3463
@gabrielpereiramendes3463 3 жыл бұрын
#Excelente!
@WesleyPz
@WesleyPz Жыл бұрын
Que aulao!
@urubumovel
@urubumovel 2 жыл бұрын
Como seria para salvar um produto com fornecedor na tabela de associação?
@_carlaque
@_carlaque 2 жыл бұрын
excelente video, valeu !
@Rosinaldodias
@Rosinaldodias Жыл бұрын
Boa noite! Vc é um excelente professor. Tenho vários cursos seus pela Udemy. Também queria ver se tem como postar uma vídeo aula de consulta com join com vários campos como parâmetro.
@jacksonemmerich
@jacksonemmerich 2 жыл бұрын
Cara tenho que confessar a sua didática é muito boa, e vou ver se consigo no próximo dev superior fazer a compra do bootcamp, só dá uma melhorado no preço!! vlw!
@phellipesander7560
@phellipesander7560 4 жыл бұрын
Havia problema de performace em uma aplicação real que eu estava trabalhando e não tinha este conhecimento. Parabéns pelos seus vídeos, Nélio, excelente professor! Espero um dia poder alcançar este nível de excelência, quero muito dar aulas um dia e espero ser bom igual você! abraços e posta mais :D
@mana748
@mana748 4 жыл бұрын
Muito fera! Tô tentando refazer a aplicação rest do curso de Spring usando anotações do Lombok.
@nelsonroncatti9135
@nelsonroncatti9135 4 жыл бұрын
As aulas do professor Nelio Alves são excelentes, e agregam muito valor de aprendizado e na prática da profissão. É o tipo de pessoa que é professor com propósito, agregando valor para as pessoas. Parabéns!
@pedrovvitor
@pedrovvitor 3 жыл бұрын
Eu fico sem palavras para a didática e conhecimento dele, incrível, dá pra fazer uma formação completa com o Nélio, é a faculdade de um professor só. Parabéns!
@romulopaiva7070
@romulopaiva7070 4 жыл бұрын
Nelio, obrigado por este aulão! Parabéns por sua didática. Seus cursos na Udemy também são excelentes e tem me ajudado muito. Forte abraço.
@ailtonocchi
@ailtonocchi 2 жыл бұрын
Não sei o que está havendo, eu já me inscrevi no seu canal 2 vezes, porém agora mais uma vez ele estava marcado como não inscrito
@maycolmichelmohr2702
@maycolmichelmohr2702 3 жыл бұрын
Excelente video Nelio!!!! Muito bem explicado e esclarecido!!
@filiperochasoares2376
@filiperochasoares2376 3 жыл бұрын
Muito obrigado, grande professor Nélio Alves, usei aqui num projeto e ficou fantástico!!!
@Matheus-lk9lh
@Matheus-lk9lh 4 жыл бұрын
Nélio, faz um video explicando os relacionamentos, ainda tenho muita dificuldade nisso com SQL
@mniski22
@mniski22 3 жыл бұрын
Muito obrigado por mais essa aula professor! Abraço!
@albertotormos4035
@albertotormos4035 2 жыл бұрын
Parabéns professor, uma aula top.
@felipedossantos7246
@felipedossantos7246 3 жыл бұрын
Excelente aula, professor!!! Vc é o cara!
@diogobertotto9174
@diogobertotto9174 3 жыл бұрын
Poderia fazer um vídeo explicando mais sobre o mapeamento do banco relacional?
@ericlima7572
@ericlima7572 3 жыл бұрын
Muito bom Nélio, obrigado pelo conteúdo.
@erycktm450
@erycktm450 3 жыл бұрын
Não da pra entender quem deu deslike em um vídeo como esse kkkkkkk SENSANCIONAL sua didática.
@victordekola
@victordekola 4 жыл бұрын
Professor o Senhor é muito top sou seu fã! Aprendo de mais com suas aulas 👍🏽👍🏽👍🏽👍🏽
@marcosribeirodesousa8345
@marcosribeirodesousa8345 3 жыл бұрын
Muito show, parabéns.
@horitacicunb
@horitacicunb 4 жыл бұрын
Didática sensacional! Parabéns!
@fernandine1000
@fernandine1000 2 жыл бұрын
Caramba! Nível hard. Excelente.
@erosserver8142
@erosserver8142 4 жыл бұрын
Show parabéns , estou sentindo falta dos seus cursos, precisamos de um avançado com spring e sql-server ou mongoDB. abraço.
@PedroPaulo-tt3pd
@PedroPaulo-tt3pd 3 жыл бұрын
Fala Nélião, primeiramente muito obrigado por salvar nossa geração! Segundo, você poderia dedois fazer um video sobre a documentação com Swagger e testes unitarios? TMJ!
@tarcioalmeida936
@tarcioalmeida936 11 ай бұрын
Eu sou um cara simples, eu vejo o Nélio, eu clico. Professor, dizer que você tem o dom é até uma ofensa, com certeza isso é resultado de muitos anos de dedicação, parabéns. No primeiro toque ao Repository para trazer a página de produtos o JPA ainda não carrega as categorias né? ele só vai no banco quando tenta instanciar no construtor do DTO, porém, nesse momento você já tem a entidade em memória e não precisa mais de abrir conexão com o banco, evitando assim o problema n+1, correto? Abraço
@victordias156
@victordias156 4 жыл бұрын
Sensacional como sempre!
@edsonxrego2
@edsonxrego2 11 ай бұрын
Top!
@CarlosMansilha
@CarlosMansilha 3 жыл бұрын
Como funcionaria com o OneToOne?
@skate241099
@skate241099 Жыл бұрын
Show D+++++++
@romeudias5704
@romeudias5704 4 жыл бұрын
muito bem feito, parabéns!
@diegoribeiro5992
@diegoribeiro5992 4 жыл бұрын
Gostaria de uma aula pra explicar o projeto completo.
@adoniasalcantara522
@adoniasalcantara522 4 жыл бұрын
tb quero!
@seilaskateboard7793
@seilaskateboard7793 4 жыл бұрын
ele tem pelo menos 5 curso completo na Udemy muito barato.
@eduardodefati4892
@eduardodefati4892 3 жыл бұрын
Mais uma aula top professor. Parabéns! Eu tenho uma dúvida: tenho um relacionamento usuario e nível.... quando chamo o usuario, além dos dados do usuario, vem todos os dados de nivel tbm... e eu gostaira que viesse somente o id do nivel... pode me indicar um caminho ou se já existe alguma aula pra isso. MUITO OBRIGADO!
@viniciusalves5893
@viniciusalves5893 Жыл бұрын
enfrento o mesmo problema, conseguiu descobrir uma maneira para resolver ou algum artigo que auxilie nesta parte?
@alexandrequeiroz3178
@alexandrequeiroz3178 4 жыл бұрын
valeu prof. Nélio! Sugestão de vídeo: java no paradigma funcional, a nível de projetos mesmo. Não a nível de puramente teoria funcional. Penso ser uma boa.
@celiojunior9005
@celiojunior9005 4 жыл бұрын
muito bom!
@Matheus-lk9lh
@Matheus-lk9lh 4 жыл бұрын
Nélio é o melhor!!
@patrickpascoal8630
@patrickpascoal8630 3 жыл бұрын
Captei a vossa mensagem mestre !! =D
@williamjunior67
@williamjunior67 4 жыл бұрын
Olá professor, estou fazendo um sistema de vendas em spring MVC com 1 único banco de dados, cada usuário do spring security vai ter uma variável que referencia o schema do banco dele ao fazer a autenticação, que pretendo gerar dinamicamente, seria fazer um multi-tenancy correto? porem estou com dificuldades para fazer essa conexão atraves de varios schemas, pode me ajudar? Já fiz isso refenciando a variavel em cada objeto da tabela, mas em grande escala imagino que perca processamento, estou usando o Azure.
@rodrigofurlaneti5930
@rodrigofurlaneti5930 4 жыл бұрын
O Nelio, blz? vc tem algum curso de DDD para WebApi? Com asp.net core? valeu
@diogofurtado1987
@diogofurtado1987 3 жыл бұрын
Opa professor boa noite. Pesquisei mais a fundo também e achei algumas configurações que resolvem esse problema. É válido? spring.jpa.properties.hibernate.batch_fetch_style=PADDED spring.jpa.properties.hibernate.default_batch_fetch_size=25 Aí teria que incluir nos relacionamentos também o fetch = FetchType.LAZY
@AlexandreOliveira-pg1hg
@AlexandreOliveira-pg1hg 4 жыл бұрын
Professor uma pergutna no exemplo acima do N+1 na solução colocada está "forçando" os id's conforme o paginador que sao os ID's específicos dentro do produto (no caso do exemplo) e se por algum acaso os id's nao forem totalmente sequencias (1, 2, 3, 4, 5) e sim por exemplo (1, 3, 5, 8,9) essa resolução de paginação funcionaria?
@DevSuperior
@DevSuperior 4 жыл бұрын
Olá Alexandre. Funcionaria sim. Você pode colocar quaisquer valores na cláusula IN
@rodolfoalvarenga252
@rodolfoalvarenga252 3 жыл бұрын
Ótima aula!!!! Professor, neste caso o banco não foi acessado três vezes em vez de duas? Hibernate: select product0_.id as id1_1_, product0_.name as name2_1_ from tb_product product0_ limit ? Hibernate: select count(product0_.id) as col_0_0_ from tb_product product0_ Hibernate: select product0_.id as id1_1_0_, category2_.id as id1_0_1_, product0_.name as name2_1_0_, category2_.name as name2_0_1_, categories1_.product_id as product_1_2_0__, categories1_.category_id as category2_2_0__ from tb_product product0_ inner join tb_product_category categories1_ on product0_.id=categories1_.product_id inner join tb_category category2_ on categories1_.category_id=category2_.id where product0_.id in ( ? , ? , ? )
@DevSuperior
@DevSuperior 3 жыл бұрын
É porque a paginação do Spring Data JPA faz um count para obter o número total de registros. Então ele toca o banco uma vez a mais por causa disso.
@play_on_forever
@play_on_forever 4 жыл бұрын
fazer o projeto do zero......
Consultas com Query Methods e ORDER BY no Spring Boot
42:55
DevSuperior
Рет қаралды 6 М.
Java e Spring: camadas, ORM, DTO
30:06
DevSuperior
Рет қаралды 44 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
Introdução a JWT
9:00
DevSuperior
Рет қаралды 11 М.
Introdução JPA e Hibernate (bônus Maven e MySQL) Aulão #006
51:38
Service web avec Jax ws ri
44:57
Adil Bouhouch
Рет қаралды 17
Modelagem de domínio em nível conceitual com UML - Aulão #001
1:00:31
Exceções, try, catch com Java
8:39
DevSuperior
Рет қаралды 34 М.
Modelo de domínio em Java: Por onde começar?
17:52
DevSuperior
Рет қаралды 9 М.
Data e hora em Java Aulão completo LocalDate Instant LocalDateTime
1:19:29
Consultas SQL Nativo com Spring Boot e Java
55:36
DevSuperior
Рет қаралды 9 М.
Aula sobre estrutura Map no Java com exemplo prático
18:37
DevSuperior
Рет қаралды 7 М.
Padrão camadas e exceções em Java web Spring Boot - Aulão #012
30:42
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН