Utilizando os recursos do JPA support do Eclipse

Boa noite pessoal,

Uma boa IDE deve ser muito mais do que apenas um bom editor de código, ela deve agilizar ou amenizar parte do nosso trabalho diário. Bom é pra isso que o Eclipse cada vez coloca mais ferramentas disponíveis pra gente, além do seu fantástico editor de código com o seus atalhos e assistente de código, ele contém diversas outras funcionalidades para ajudar a criar e organizar os nossos projetos.

Para os projetos Java EE, ele contém inúmeras funcionalidades, desde wizards para auxiliar na criação de diversos tipos de projeto Java e para o pós-criação do projeto, como o caso do JPA support.

O JPA é com certeza a especificação mais utilizada nos projetos JEE atualmente, através dele nós conseguimos reduzir muito a amarração da nossa aplicação com a camada de banco de dados, desde a configuração até a na codificação (principalmente!).

Quando criamos um projeto no Eclipse, podemos falar se desejamos utilizar o JPA, aí então podemos começar diretamente um JPA Project, ah, mas se for um projeto WEB (Dynamic WEB Project) ?

Também podemos, basta que marcamos que desejamos utilizar o JPA neste projeto, isso é mostrado na imagem abaixo:

Configuração do suporte JPA em um projeto WEB.
Configuração do suporte JPA em um projeto WEB.

Bom, se você não está fazendo um projeto WEB, você pode fazer um projeto Java normal mas com suporte ao JPA, para isso o Eclipse tem um modelo pronto, que é o JPA Project, ele já vem com um assistente muito bacana que permite que a gente possa configurar, conectar com o banco de destino, e se existirem tabelas podemos criar os nossos Java Beans a partir delas!

Abaixo tem um exemplo da configuração do Driver e da conexão com o banco de dados.

Configuração e conexão com o banco de dados.
Configuração e conexão com o banco de dados.

Depois uma tela para marcarmos as tabelas do nosso banco caso exista alguma.

Seleção das tabelas do banco.
Seleção das tabelas do banco.

A próxima é a tela para configurar os relacionamentos que o Eclipse detecta entre as tabelas do banco selecionado.

Configuração dos relacionamentos.
Configuração dos relacionamentos.

Depois configuramos como ficarão as nossas classes, o tipo de Collection a ser utilizada, qual o tipo de carregamento do para as associações (EAGER ou LAZY).

Configurando as classes.
Configurando as classes.

E por fim, clicando no Finish, ficamos com o nosso projeto bem adiantado, com a estrutura base do JPA pronta, com as nossas classes criadas, anotadas com as annotations da especificação do JPA e já mapeadas no arquivo persistence.xml.

Conclusões

Dependendo do banco existente, o relacionamento das tabelas nem sempre irá condizer com a modelagem das classes da nossa aplicação, lembre-se uma classe Java não é uma tabela do banco!

Outro ponto que devemos levar em conta é que o código por mais que configurado, é gerado pelo próprio Eclipse, logo ele pode assumir uma convenção que não é a mesma que a sua equipe/empresa adota, portanto, devemos sempre analisar cautelosamente o código que foi gerado.

Acho que é isso  pessoal, abraços e até a próxima.