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:
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.
Depois uma tela para marcarmos as tabelas do nosso banco caso exista alguma.
A próxima é a tela para configurar os relacionamentos que o Eclipse detecta entre as tabelas do banco selecionado.
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).
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.