Primeiras aulas do curso Java e JPA: Persista seus objetos com a JPA2 e Hibernate

Java e JPA: Persista seus objetos com a JPA2 e Hibernate

Sobre a Java Persistence API - Apresentação ao curso

Boas vindas!

Sou o instrutor Leonardo Cordeiro e este é o curso de Java e JPA: Persista seus objetos com a JPA2 e Hibernate.

Ao longo das aulas, veremos sobre configurações do Java Persistance API ou JPA e todos os estados que cada entidade pode assumir. Também falaremos sobre relacionamentos e JPQL.

Esperamos que essa jornada sobre persistência de dados em Java seja de grande utilidade para sua carreira.

Vamos lá!

Sobre a Java Persistence API - Ambiente e versões

Para este treinamento, usaremos um Ambiente de Desenvolvimento Integrado ou IDE bastante conhecido chamado Eclipse. Acessando este link, faremos o download para nosso sistema operacional.

Também baixaremos o MariaDB através deste endereço, um banco de dados relacional que é um fork open source do MySQL. Suas funcionalidades são bem parecidas, e inclusive poderemos utilizar o mesmo driver para se comunicarem sem problemas. Faremos o download da versão estável mais recente no formato .msi.

Com essas duas ferramentas instaladas em nossa máquina, poderemos dar continuidade ao curso.

Sobre a Java Persistence API - Problemas do JDBC

Antes de começarmos a ver sobre JPA, lembraremos como é feita a persistência de dados sem esta ferramenta.

Caso já tenha feito algum curso aqui da Plataforma Alura, provavelmente conhecerá a especificação JDBC criada para evitar que nos acomplemos a um vendor específico, nos possibilitando o reuso de um mesmo código para nos conectarmos com qualquer banco de dados geracional.

Na etapa anterior, está disponível um projeto JDBC para download que utilizaremos como exemplo. Teremos um modelo bastante simples com apenas quatro atributos e uma classe especialista em trabalhar com esta conta no banco de dados, ou seja, todas as operações de acesso aos dados ficam a cargo do Data Acess Object, o qual é um padrão de projeto bastante conhecido.

Abriremos ContaDao.java no Eclipse para vermos o método adiciona(), o qual é responsável por adicionar a conta ao database. Para vermos seu funcionamento com JDBC, teremos a primeira linha com uma query que adicionará conta() ao database. No final da query teremos três sinais de interrogação, e nenhum banco relacional é capaz de entendê-los.

Portanto, precisaremos substituir os ? pelos valores da conta de fato, o que acontecerá nas três linhas finais de adiciona().

Neste método, teremos aproximadamente dez linhas, e precisaremos saber quantas executarão uma regra de negócio e agregarão valor; neste caso, apenas a linha com ps.execute() inserirá a conta no banco de dados.

As demais tratarão exceções com try e catch, mas há muito código que preparará a conta para ser inserida em adiciona(). Então teremos o objeto Conta de nosso mundo orientado a objetos, e precisaremos convertê-lo e mapeá-lo para o mundo relacional.

Logo, fazer este mapeamento-objeto-relacional demandará bastante tempo e código para que a conta seja persistida no banco. Se fôssemos adicionar um aluno ou qualquer outra entidade ao invés de uma conta, o código de mapeamento seria o mesmo, apenas mudaríamos as colunas e talvez alguns parâmetros.

Portanto, é recomendável usarmos as ferramentas de mapeamento-objeto-relacional para reutilizarmos o código sem reescrevê-lo para este processo. Poderemos inclusive fazer uso de reflection para gerarmos querys dinamicamente baseados nos nomes dos atributos, por exemplo.

O foco deste curso é a ferramenta JPA, especificação no mundo Java que cuida deste papel de persistência com mapeamento-objeto-relacional. É através desta que utilizaremos a principal implementação de referência chamada Hibernate.

A vantagem de usar a especificação está em podermos trocar de implementação sem problemas, fazendo o código baseado em suas regras. Por exemplo, poderemos tirar o Hibernate e inserir OpenJPA ou EclipseLink sem que o código quebre, nos possibilitando testar a performance de cada uma para nosso trabalho.

Todo o código que gerarmos em nossas aulas será baseado em JPA, com apenas alguns detalhes em Hibernate. Desta forma, teremos a flexibilidade para trocar a implementação, se necessário.

De volta ao nosso arquivo ContaDao.java no Eclipse, utilizar JPA será como remover todas as linhas que fazem o mapeamento-objeto-relacional, inclusive o try catch. Em seu lugar, poderemos pedir ao jpa que adicione a conta simplesmente, realizando toda a ação por debaixo dos panos, desta forma:

public void adiciona(Conta conta) {
    jpa.adiciona(conta)
}

A seguir, utilizaremos esta ferramenta e começaremos pelos primeiros passos de configuração e testes.

Sobre o curso Java e JPA: Persista seus objetos com a JPA2 e Hibernate

O curso Java e JPA: Persista seus objetos com a JPA2 e Hibernate possui 106 minutos de vídeos, em um total de 51 atividades. Gostou? Conheça nossos outros cursos de Java em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Java acessando integralmente esse e outros cursos, comece hoje!

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?

Acesso por 1 ano

Estude 24h/dia onde e quando quiser

Novos cursos todas as semanas