< Return to Video

JAD CAP03 2024 VA08 CONSULTAS DERIVADAS DE METODO

  • 0:08 - 0:10
    Além da JPQL,
    também podemos construir
  • 0:10 - 0:13
    as consultas através
    de uma outra forma
  • 0:13 - 0:16
    que chamamos
    de consultas baseadas em métodos.
  • 0:16 - 0:21
    Ou seja, conseguimos utilizar
    os nomes dos campos
  • 0:21 - 0:26
    que temos lá na classe Java,
    como parte do nome da função.
  • 0:26 - 0:30
    E claro, temos que seguir algumas
    regras para conseguir fazer isso.
  • 0:30 - 0:33
    Então, o nome do método
    que vamos criar
  • 0:33 - 0:38
    é o que vai determinar
    que tipo de consulta a JPA vai fazer.
  • 0:38 - 0:42
    Então, chamamos isso
    de consultas derivadas de métodos.
  • 0:42 - 0:45
    Beleza?
    Então vamos usar um nome
  • 0:45 - 0:48
    que é padronizado,
    vamos utilizar algumas palavras
  • 0:48 - 0:52
    que a JPA nos indica.
  • 0:52 - 0:55
    E aí, com base nos nomes
    dos atributos da nossa classe,
  • 0:55 - 0:58
    conseguimos fazer a consulta,
    beleza?
  • 0:58 - 1:00
    Vamos dar uma olhada
    nessa documentação
  • 1:00 - 1:02
    para entendermos melhor
    o que isso quer dizer.
  • 1:02 - 1:03
    Vamos lá.
  • 1:03 - 1:09
    Estou aqui na documentação
    desses métodos,
  • 1:09 - 1:13
    nessas consultas baseadas em métodos.
  • 1:13 - 1:17
    Então, o que acontece?
    Olha só, as pesquisas que vamos usar,
  • 1:17 - 1:22
    a forma que vamos escrever os métodos,
    os nomes dos métodos
  • 1:22 - 1:23
    para poder fazer as pesquisas.
  • 1:23 - 1:27
    E aí temos aqui o padrão, tá?
    Então, por exemplo,
  • 1:27 - 1:29
    Temos aqui,
    olha nessa tabela
  • 1:29 - 1:34
    a palavra chave que vamos usar
    e temos aqui um exemplo
  • 1:34 - 1:38
    de como ficaria o nome do método.
  • 1:38 - 1:41
    Então, por exemplo,
    temos aqui olha, o "And".
  • 1:41 - 1:44
    Então o "And" usamos para fazer
    aquelas pesquisas,
  • 1:44 - 1:47
    onde combinamos dois campos,
    por exemplo,
  • 1:47 - 1:53
    selecionar listagem de uma tabela,
    todos os registros onde
  • 1:53 - 1:56
    a cidade seja,
    por exemplo, São Paulo
  • 1:56 - 2:01
    e o nome do bairro,
    seja, por exemplo, Vila Mariana.
  • 2:01 - 2:05
    Então usamos dois ou mais atributos
    para fazer a consulta.
  • 2:05 - 2:08
    Então olha só,
    como que fica essa consulta?
  • 2:08 - 2:13
    É "findBy",
    esse "findBy" ele é obrigatório.
  • 2:13 - 2:17
    Esse leste Naming
    Ele é o nome de um atributo na classe.
  • 2:17 - 2:21
    Então imagina que você tem lá
    uma classe Java e lá tem um atributo
  • 2:21 - 2:26
    chamado Leste
    e tem um outro atributo chamado First.
  • 2:26 - 2:29
    Então o leste nem é o first,
  • 2:29 - 2:33
    nem eles são os nomes dos atributos
    na classe.
  • 2:33 - 2:38
    Agora, o fim de Vai e é o nome
    de um método padronizado pela JPA.
  • 2:38 - 2:40
    Eu tenho que usar esse trem de BI.
  • 2:40 - 2:44
    Então imagina que ao invés de fosse um
    que ao invés de se fosse, que o nome
  • 2:44 - 2:47
    em inglês fosse em português
  • 2:47 - 2:49
    o último nome, o primeiro nome,
    nós ficaria
  • 2:49 - 2:53
    como esse bay e o último nome End.
  • 2:53 - 2:55
    Primeiro nome? Bom.
  • 2:55 - 2:56
    Um outro exemplo.
  • 2:56 - 2:58
    Olha só o bichinho aqui.
  • 2:58 - 3:01
    Olha o bicho em fim de pai.
  • 3:01 - 3:06
    Aí tem aqui ó a data inicial between, né?
  • 3:06 - 3:09
    Então a gente vai fazer ali uma busca
  • 3:09 - 3:13
    encontrar pelo pela data inicial
    que esteja entre.
  • 3:14 - 3:18
    E aí a gente vai passar as duas datas que
    vão ser fornecidas aqui para esse método.
  • 3:18 - 3:21
    Legal. O Leste, por exemplo.
  • 3:21 - 3:24
    Eu quero buscar todo mundo,
    todos os registros
  • 3:24 - 3:27
    onde um determinado grupo
    seja menor que alguma coisa.
  • 3:27 - 3:28
    Olha só.
  • 3:28 - 3:30
    Find by each.
  • 3:30 - 3:35
    E se ele é o nome do atributo lá
    na classe, vamos supor que fosse idade
  • 3:35 - 3:40
    em português, então ficaria assim
    de bairro, cidade leste.
  • 3:40 - 3:44
    Então o nome do do,
    essa palavrinha aqui no meio,
  • 3:44 - 3:47
    ela tem que ser o nome do atributo
    lá na classe.
  • 3:47 - 3:51
    Só que o fim bay eu tenho que usar
    e o let também.
  • 3:51 - 3:52
    Ou seja, a j p.a.
  • 3:52 - 3:57
    Ela vai entender que tipo de consulta
    a gente quer implementar
  • 3:57 - 3:58
    por conta dessas palavrinhas.
  • 3:58 - 4:02
    Aqui tá dessas expressões aqui. Beleza.
  • 4:02 - 4:03
    E aí eu recomendo pra vocês.
  • 4:03 - 4:08
    Vocês tem um link dessa documentação
    no material escrito,
  • 4:08 - 4:12
    então eu recomendo que vocês
    olhem essa documentação para
  • 4:12 - 4:13
    poder
  • 4:13 - 4:15
    variar
    bastante aqui as consultas de vocês.
  • 4:15 - 4:18
    Olha quanta coisa a gente tem aqui.
  • 4:18 - 4:19
    Tá bom, então a gente
  • 4:19 - 4:23
    vai fazer alguns testes pra gente
    ver como que isso aqui funciona.
  • 4:23 - 4:26
    Bom, gente, então vocês viram que tem ali
    todo uma padronização?
  • 4:26 - 4:30
    Então a gente vai ter aquelas palavrinhas
    que são obrigatórias,
  • 4:30 - 4:35
    saem de baixo end list e ambition,
    essas palavras.
  • 4:35 - 4:39
    Elas vão compor o nome da função
    e você vai combinar
  • 4:39 - 4:43
    com os nomes dos campos
    no objeto Java, na classe Java.
  • 4:43 - 4:46
    Isso a gente vai conseguir fazer.
  • 4:46 - 4:48
    Dessa forma a gente vai conseguir fazer
  • 4:48 - 4:51
    as consultas baseados
    baseado no nome dos métodos.
  • 4:51 - 4:52
    Olha que legal, né?
  • 4:52 - 4:57
    Essa é uma técnica bastante interessante
    e a JPR entrega pra gente, então
  • 4:57 - 5:00
    vou criar ali uma consulta, por exemplo,
  • 5:00 - 5:03
    para fazer uma busca e pelo nome.
  • 5:03 - 5:06
    Só que usando o método
  • 5:06 - 5:10
    o nome do método
    e não usando a query usando ali a JPA
  • 5:10 - 5:13
    que é a gente vai fazer um ajuste
    ali nas nossas consultas pra gente
  • 5:13 - 5:15
    ver como isso vai funcionar.
  • 5:15 - 5:17
    Vamos lá, vamos ver isso daí.
  • 5:17 - 5:18
    O que fica?
  • 5:18 - 5:20
    Isso não é escrito em código mesmo.
  • 5:20 - 5:23
    E na nossa aplicação
    vamos trabalhar um pouquinho.
  • 5:23 - 5:27
    Então olha só, a gente tem aqui
    esse buster contato pelo nome, né?
  • 5:27 - 5:31
    Então a gente tem já aqui uma consulta
    usando a JPA,
  • 5:31 - 5:34
    que é para fazer uma busca de contato
    pelo nome.
  • 5:34 - 5:38
    Agora imagina que a gente queria
    fazer isso, só que usando
  • 5:38 - 5:40
    a consulta derivada de método,
  • 5:40 - 5:43
    a qual a derivada de método
    não com o que a gente vai fazer, né?
  • 5:43 - 5:44
    Então eu vou fazer aqui
  • 5:44 - 5:48
    mesmo, aqui embaixo mesmo, pra gente
    ver como que elas são similares.
  • 5:48 - 5:49
    Tá bom?
  • 5:49 - 5:51
    Então vamos lá, eu vou colocar aqui.
  • 5:51 - 5:56
    Olha, vou criar é um Optional, né?
  • 5:56 - 5:57
    De contato.
  • 5:57 - 5:59
    Então o que essa função vai retornar?
  • 5:59 - 6:02
    Ela vai retornar o objeto Optional
    do tipo contato.
  • 6:02 - 6:05
    Ela vai carregar um contato dentro dela.
  • 6:05 - 6:08
    E aí, seguindo aquela regrinha
  • 6:08 - 6:10
    como que vai ficar aqui
    o nome da consulta?
  • 6:10 - 6:14
    Eu sei que o meu campo lá no banco
    de dados, na verdade, no banco de dados,
  • 6:14 - 6:16
    na classe, né?
  • 6:16 - 6:18
    Ela é a nossa classe Java.
  • 6:18 - 6:20
    Aqui deixo a minha que eu uso dela.
  • 6:20 - 6:24
    Olha só,
    é nome lá e tá em português inclusive, né?
  • 6:24 - 6:25
    Bacana.
  • 6:25 - 6:28
    Então porque vai ficar aqui sim, de vai.
  • 6:29 - 6:32
    Então esse fim de vai é obrigatório
  • 6:32 - 6:36
    isso aqui a JPA vai reconhecer
    como sendo uma pesquisa,
  • 6:36 - 6:39
    uma consulta que ela vai ter
    que construir.
  • 6:39 - 6:42
    Sai de baixo o que esse nome
  • 6:42 - 6:46
    tá bom e observa que eu coloquei o nome
    que olha com ele
  • 6:46 - 6:50
    maiúsculo,
    apesar de aqui estar com ele minúsculo.
  • 6:50 - 6:54
    Mas a JPL também
    entende o que é meu case aqui.
  • 6:54 - 6:58
    Tá bom interessado
    que esse pai de pai e de ela da JPR
  • 6:58 - 7:03
    e ele vai saber que o nome aqui
    apesar de tá com letra maiúscula,
  • 7:03 - 7:06
    ele sabe que está com letra maiúscula
    por conta do que eu quis.
  • 7:06 - 7:09
    Bom, e aí a gente vai colocar aqui, né?
  • 7:09 - 7:12
    Qual é o valor que deve ser passado
  • 7:12 - 7:15
    pra que essa consulta possa acontecer?
  • 7:15 - 7:19
    Tá bom,
    então essa vai ser a anatomia aqui,
  • 7:19 - 7:23
    a assinatura da classe
    que a gente vai ter que criar.
  • 7:23 - 7:25
    Beleza. E olha só.
  • 7:25 - 7:30
    Olha como é simples, a gente não vai
    nem precisar escrever aqui, já tá pequeno.
  • 7:30 - 7:35
    Então se você precisar fazer uma consulta
    e encontrar alguma coisa
  • 7:35 - 7:37
    que vai usar apenas um,
  • 7:37 - 7:41
    um parâmetro, um apenas um campo,
  • 7:41 - 7:44
    apenas uma propriedade do objeto,
  • 7:44 - 7:48
    então você faz dessa forma que você
    não precisa usar a JPA que é tá bom.
  • 7:48 - 7:49
    Legal.
  • 7:49 - 7:54
    Agora a gente vai construir um service
    e vai usar esse.
  • 7:54 - 7:58
    Esse método aqui é baseado em map
  • 7:58 - 8:01
    e se essa consulta é baseada
    em nome de método
  • 8:01 - 8:02
    é que a gente vai lá.
  • 8:02 - 8:04
    Então agora pro nosso serviço, né?
  • 8:04 - 8:07
    E a gente vai fazer essa consulta aqui.
  • 8:07 - 8:11
    Eu estou pensando eu tenho que fazer
    o seguinte ao invés de fazer pelo nome,
  • 8:11 - 8:14
    eu vou fazer pelo meio,
    porque a gente tem um email lá.
  • 8:14 - 8:17
    Eu acho que vai ficar mais legal
    porque a gente vai ter uma pelo nome
  • 8:17 - 8:21
    usando aqui na PQP
    e a gente vai ter aqui por email, tá?
  • 8:21 - 8:22
    Eu vou fazer assim
  • 8:22 - 8:26
    a gente até ter essa consulta disponível
    aqui no nosso link de contato.
  • 8:26 - 8:27
    Então vamos lá.
  • 8:27 - 8:30
    Então eu mudei aqui eu vou retornar
  • 8:30 - 8:34
    um option de contato,
    só que eu vou buscar o contato pelo email.
  • 8:34 - 8:35
    Então vai ser fornecido
  • 8:35 - 8:39
    o email para a gente localizar o contato
    na nossa base de dados.
  • 8:39 - 8:43
    Agora ficou legal e agora a gente
    vai criar então lá no nosso service
  • 8:43 - 8:47
    um método para fazer isso,
    para conseguir esse serviço, aí
  • 8:47 - 8:50
    a gente vai chamar aqui
    clicando que a gente vai ter também.
  • 8:50 - 8:53
    Aqui ele vai retornar o que?
  • 8:53 - 8:57
    O contato, exibição do teor
  • 8:57 - 8:59
    a gente vai chamar
  • 8:59 - 9:03
    de buscar contato pelo e-mail aqui.
  • 9:03 - 9:07
    Então, usando um nome em português mesmo,
    aqui não tem problema aonde tem que usar
  • 9:07 - 9:12
    o fim de vai e no repositório da gente
    lá no serviço não tem problema nenhum.
  • 9:12 - 9:15
    Eu posso usar o nome que eu quiser, tá?
  • 9:15 - 9:17
    E a gente vai passar aqui.
  • 9:17 - 9:20
    Olha, quem chamar esse método
    vai ter que me passar
  • 9:20 - 9:23
    uma string e vai representar o meu email.
  • 9:23 - 9:28
    E aí a gente
    vai retornar o Repository rico e o ponto.
  • 9:29 - 9:32
    E a gente tem agora
    o fim de vai e meio que
  • 9:32 - 9:35
    última função
    lá que a gente criou no nosso serviço
  • 9:35 - 9:38
    e a gente vai fornecer esse email
  • 9:38 - 9:40
    aqui pra quem chamar.
  • 9:40 - 9:45
    E lógico, olha aqui a gente está falando
    que ele vai retornar o contato.
  • 9:45 - 9:48
    Exibição de teor, né?
  • 9:48 - 9:52
    Só que lembra que o fim de pai e mail
    ele vai retornar para a gente
  • 9:52 - 9:54
    é um optional.
  • 9:54 - 9:57
    Então, na verdade, aqui
    olha o que a gente vai fazer,
  • 9:57 - 10:02
    a gente vai criar aqui
    o Optional é opcional,
  • 10:02 - 10:05
    do tipo contato.
  • 10:05 - 10:11
    Vamos chamar esse cara aqui
    de contato opcional e vai receber o que?
  • 10:11 - 10:14
    A resposta do nosso repositório, né?
  • 10:14 - 10:20
    Então esse carinha aqui vai retornar
    pra gente um objeto do tipo ótimo, beleza?
  • 10:20 - 10:24
    E aí, o que que a gente vai fazer
    a gente vai extrair, né?
  • 10:24 - 10:29
    E se esse contato de dentro desse objeto
    óptimo, a gente vai verificar que olha,
  • 10:29 - 10:35
    se o contato option nesse contato, ok,
    o preço presente, ou seja,
  • 10:35 - 10:40
    se tem um contato presente nesse objeto,
    contato ótimo, O que a gente vai fazer?
  • 10:40 - 10:43
    A gente vai retornar o meu contato.
  • 10:43 - 10:47
    Exibição de teor, passando esse contato.
  • 10:47 - 10:53
    Outro ponto gente bacana aí
    lembra que o nosso contato
  • 10:53 - 10:58
    exibição de teor
    ele tem um construtor que recebe o contato
  • 10:58 - 11:01
    e retorna a instância de um objeto contato
    exibição.
  • 11:01 - 11:03
    BT O legal é esse GET.
  • 11:03 - 11:05
    Ele está extraindo o objeto.
  • 11:05 - 11:08
    O contato está dentro desse contato, ok?
  • 11:08 - 11:09
    Legal, né?
  • 11:09 - 11:13
    E caso ele não encontre,
    que pode ser que tenha fornecido e-mail
  • 11:13 - 11:18
    que não existe o e-mail errado,
    então a gente vai lançar uma exceção
  • 11:18 - 11:23
    para dizer que esse esse usuário
    nesse contato está sendo buscado.
  • 11:23 - 11:24
    Ele não existe.
  • 11:24 - 11:30
    Então o usuário não encontrado Exception
    e vou passar aqui a frase Olha, contato
  • 11:30 - 11:34
    não encontrado
  • 11:34 - 11:38
    legal e vamo finalizar aqui
    então pronto, nosso serviço está aqui,
  • 11:38 - 11:41
    então vou buscar contato pelo email.
  • 11:41 - 11:44
    Ele precisa receber um e-mail né?
  • 11:45 - 11:47
    Ele vai retornar
    o contato exibição de teor,
  • 11:47 - 11:51
    só que o nosso feed de vai email
    ele retorna
  • 11:51 - 11:55
    um contato opcional,
    então a gente colocou aqui.
  • 11:55 - 11:58
    Criamos um contato, um objeto do tipo opt,
  • 11:58 - 12:01
    do tipo contato, não carregando um contato
  • 12:01 - 12:03
    e a gente vai verificar
    se existe esse contato.
  • 12:03 - 12:06
    Se ele estiver presente,
    a gente retorna o contato.
  • 12:06 - 12:11
    Exibição de teor da gente extrai
    o contato que está dentro do off
  • 12:11 - 12:12
    para poder construir esse objeto.
  • 12:12 - 12:13
    Contato, exibição.
  • 12:13 - 12:16
    BT Um sinal a gente lança aqui
    uma exceção do tipo usuário.
  • 12:17 - 12:18
    Então tá legal.
  • 12:18 - 12:21
    Agora a gente precisa criar
  • 12:21 - 12:22
    o endpoint, né?
  • 12:22 - 12:25
    Então
    a gente vai chegar no nosso controlador
  • 12:25 - 12:27
    e vamos criar esse point aqui.
  • 12:27 - 12:31
    Então vamos lá.
    Então vai ser que um arroba
  • 12:31 - 12:34
    em get map
  • 12:34 - 12:36
    e eu vou usar também parâmetro
    aqui tá gente?
  • 12:36 - 12:42
    Então vamos chamar aqui uma rua baguette
    map, a gente vai chamar aqui o Contatos
  • 12:42 - 12:46
    e a gente vai passar um parâmetro
    que vai ser o e mail, tá?
  • 12:46 - 12:49
    Então essa consulta
    ela vai ficar desse jeito aqui.
  • 12:49 - 12:53
    Olha, vai ficar API para os contatos.
  • 12:53 - 12:57
    Passando o parâmetro quarry string
    aqui meio que vai ser igual,
  • 12:58 - 13:02
    porque aí você vai tentar pingar aí
    o email que você tá querendo
  • 13:02 - 13:04
    consultar no banco.
  • 13:04 - 13:05
    Beleza, bacana.
  • 13:05 - 13:07
    E a gente vai fazer.
  • 13:07 - 13:09
    Então agora o nosso método,
  • 13:09 - 13:13
    esse tudo isso, ele vai retornar
    um contato execução de P.O.
  • 13:13 - 13:17
    Vamos buscar contato pelo e-mail,
  • 13:17 - 13:21
    nome do nosso, no nosso, da nossa função,
    do nosso método.
  • 13:21 - 13:26
    Quem chamar o buscar
    contato pelo email vai ter que passar
  • 13:26 - 13:27
    o email
  • 13:27 - 13:32
    e esse e-mail
    ele vai vir aqui pelo parâmetro da url.
  • 13:32 - 13:35
    Então a gente vai ter que um arroba
  • 13:35 - 13:38
    20 West RD né?
  • 13:38 - 13:40
    E quem é esse parâmetro?
  • 13:40 - 13:43
    A gente vai usar aqui.
  • 13:44 - 13:48
    Então o parâmetro que tá vindo aqui,
    que é o email, vai ser colocado
  • 13:48 - 13:53
    no valor da variável do argumento
    e da função buscar pelo ENEM.
  • 13:53 - 13:58
    E a implementação
    vai ser simplesmente um retornar.
  • 13:58 - 14:02
    E o nosso serve
    nesse ponto buscar contato pelo email.
  • 14:02 - 14:06
    Passando esse email que foi enviado
  • 14:06 - 14:10
    para a gente
    que envia parâmetro na URL bacaninha.
  • 14:10 - 14:13
    Então olha lá, vai ser uma pesquisa,
    então vai ser um GET,
  • 14:13 - 14:17
    vai ser uma consulta,
    vai ser uma requisição HTTP do tipo GET
  • 14:17 - 14:21
    e qual vai ser a requisição,
    barra, contatos,
  • 14:21 - 14:25
    completando na barra de contatos
    e vai ter um parâmetro e-mail
  • 14:25 - 14:29
    carregando o email do contato
    que está sendo buscado.
  • 14:29 - 14:32
    É esse e mail que vai ser fornecido aqui.
  • 14:32 - 14:36
    A gente vai substituir aqui na nossa
  • 14:36 - 14:38
    na no argumento
    aqui da nossa função, tá bom?
  • 14:38 - 14:41
    E aí a gente
    vai passar isso lá pro nosso serviço
  • 14:41 - 14:44
    e ele vai retornar
    assim, encontrar o email
  • 14:44 - 14:45
    equivalente lá.
  • 14:45 - 14:48
    Bacana, Então vamos restart
    aquela aplicação
  • 14:48 - 14:51
    pra gente poder
  • 14:51 - 14:57
    fazer essa consulta.
  • 14:57 - 14:58
    Prontinho!
  • 14:58 - 15:02
    Então olha, ela foi exportada com sucesso,
    não tivemos nenhum problema.
  • 15:02 - 15:05
    Então agora a gente vai fazer uma consulta
    por e-mail.
  • 15:05 - 15:07
    Então vamos lá.
  • 15:07 - 15:08
    Então eu vou pegar aqui.
  • 15:08 - 15:11
    Olha,
    eu não tenho aqui uma consulta pelo email,
  • 15:11 - 15:13
    então vou pegar essa consulta
    aqui pelo nome.
  • 15:13 - 15:16
    Eu vou duplicar ela,
    aí vou dar o nome que olha
  • 15:16 - 15:20
    e buscar pelo email
  • 15:20 - 15:24
    cliente vou clicar nela
    e a gente vai arrumar aqui essa url
  • 15:24 - 15:29
    nessa url ela não vai ser assim,
    não vou chamar que olha para contatos
  • 15:29 - 15:32
    como a gente vai usar parâmetro
    que a gente vai colocar aqui.
  • 15:32 - 15:36
    A interrogação é meio igual
  • 15:36 - 15:39
    e aí eu vou colocar o email da pessoa
    que eu estou buscando.
  • 15:39 - 15:41
    Então eu não me lembro dos e-mails
    cadastrados,
  • 15:41 - 15:43
    então vou pedir para listar todo mundo
    aqui.
  • 15:43 - 15:47
    Vamos supor que eu quero procurar
    alguém que olha que tem um e-mail.
  • 15:47 - 15:49
    João arroba meio ponto.
  • 15:49 - 15:51
    Olha o registro número oito.
  • 15:51 - 15:53
    Deixa eu dar um control c aqui.
  • 15:53 - 15:55
    Vamos dar uma olhadinha.
  • 15:55 - 16:00
    Vou problema aqui Então olha só,
    eu vou fazer uma busca nesse servidor
  • 16:00 - 16:02
    na porta 80.
  • 16:02 - 16:07
    Nesse recurso eu quero o contatos
    e vou passar aqui o parâmetro email
  • 16:07 - 16:12
    e o valor desse parâmetro e joão arroba
    meio ponto com um send.
  • 16:12 - 16:13
    Vamos ver se ele vai achar.
  • 16:13 - 16:17
    Olha olha lá, achou aqui o contato,
    se eu pegar aqui por exemplo
  • 16:17 - 16:22
    o ponto BR, esse email não existe,
    então se eu der um send
  • 16:22 - 16:27
    ele não achou
    1404 not found, ou seja, esse
  • 16:27 - 16:30
    esse recurso que você está buscando
    lá no servidor
  • 16:30 - 16:33
    não tem não, não está.
  • 16:33 - 16:34
    Então é isso.
  • 16:34 - 16:37
    Agora a gente também
    sabe como utilizar as consultas
  • 16:37 - 16:40
    utilizando ali
    as consultas derivadas de método.
  • 16:40 - 16:44
    Então você pode utilizar aquelas palavras
    chave naquelas keyword
  • 16:44 - 16:49
    que você tem
    ali na documentação da tabela. JPG
  • 16:49 - 16:54
    para construir as suas consultas baseadas
    no nome do método ali no repositório.
  • 16:54 - 16:57
    E aí você faz uma combinação
    das kill words
  • 16:57 - 17:02
    com os nomes dos campos
    que você tem lá na sua classe Java.
  • 17:02 - 17:05
    Então isso vai permitir que você crie
    também aí
  • 17:05 - 17:08
    consultas personalizadas
    de uma forma bastante simples.
Title:
JAD CAP03 2024 VA08 CONSULTAS DERIVADAS DE METODO
Video Language:
Portuguese, Brazilian
Duration:
17:12

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions