Aplicação de exemplo usando Eclipse, JPA Tools, JBoss (Aula 2)
Diego Raphael Pedroza Santiviago - 25 de Fevereiro de 2008 às 10:49
Precisamos criar o Data Source utilizado pelo Eclipse no momento da criação do projeto JPA. Clique na aba “Data Source Explorer”, clique com o botão direito em “Databases”, “New”, “Generic JDBC Connection. Em name, digite “MySQL”, marque a opção Auto-connect at startup. Clique em “Next”.
Chegou a hora de escolher o driver. Clique no botão “…” para adicionar um novo driver. Escolha MySQL 5.1. Abrirá uma edição da definição do driver. Remova o arquivo atual, clicando no driver que já existe e adicione o driver que fizemos o download (Aquele unico JAR que está dentro do arquivo baixado.
Altere:
“Connection URL” para jdbc:mysql://localhost:3306/user”
“Database” para root
Clique em “OK”, em “Test Connection” para verificar se está tudo ok. Se der algum problema, algo está errado nos passos seguidos!
Verifique a database “root” para ver se as tabelas estão ali.
Vamos agora criar nosso projeto JPA. Clique com o botão direito na aba explorer, “New”, “Other”. Crie um JPA Project. No nome use “UserJPA”. Em “Configurations” certifique-se que está “Default Configuration for JBoss v4.2″. Marque a opção “Add project to an EAR” e escolha “UserEAR”
Clique em “Next”, “Next” novamente, desmarque a opção “Create orm.xml”, clique em Finish!
Vai perguntar aqueles negócios de perspectiva! Marque sim, e remember minha decisão! hahahha
Vamos começar a criar as classes. Clique com o botão direito em “src”. Em package, digite “com.ttwiter.user” e como nome de classe, Department.
Indique que a classe implementa a interface java.io.Serializable. Clique no warning apresentado, e marque a opção “Add default serial version ID”
Agora vamos a marotagem do plugin do eclipse para JPA. Clique em cima do nome Department (classe) selecionando-o e após, em “Map as” na aba “JPA Details ao seu canto inferior direito (estando na perspectiva JPA e escolha Map as: Entity. Isso adicionará a notation em cima da classe.
Crie as seguintes propriedades:
private Long id; private String name;
Vamos consertar os erros na notation entity. Isso é causado porque fala que a classe não possui um Id. Para resolver a situação, clique em cima da proprierdade “id”, e selecione Map as id. Salve a classe, o erro deverá desaparecer.
Gere os setters/getters, não esquecendo de marcá-los como “final”, afinal, você não quer que uma classe filha sobrescreva seus métodos get/set, ou quer? ![]()
O código ficou assim:
@Entity
public class Department implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
private String name;
//Com seus devidos get/set e imports.
Crie a classe User, vai ser quase o mesmo procedimento, mas com umas marotagens a mais.
Indique que a classe implementa a interface Serializable, conserte o warning adicionando um serial version UID.
Clique sobre a classe User, e indique Map as Entity.
Crie as propriedades:
private Long id; private String name; private String email; private String password; private Department department = new Department();
Como você pode verificar, temos 2 erros. Um alertando que não temos um “id” e outro em cima da declaração de Department. Mapeie a propriedade id, e insira mais uma marotagem!
Adicione a notation @GeneratedValue para indicar que o valor de id é gerado, e dentro coloque (strategy=GenerationType.IDENTITY). Ou seja, ficará assim :
@GeneratedValue(strategy=GenerationType.IDENTITY)
Não coloque “;” no final!
O erro de Department ocorre porque a coluna department nao está sendo encontrada! A verdade é que precisamos mapear essa propriedade como “Muitos para um”. Para isso, clique em cima da propriedade department, e em Map as escolha “Many to One”, após isso, o erro deverá ser corrigido.
Gere os getters/setters menos para serialVersionUID.
Criaremos agora o Façade para representar nossa lógica de negócios dentro da aplicação.
Cria uma interface com o nome de UserSessionFacade, no pacote “com.ttwiter.user.service”. Essa interface se transformará em nossa interface de EJB. Para isso, insira a notação @Local.
Insira o método:
public List<Department> findAllDepartments(); public void create ( User user );
Bom, nesta aula continuamos contruindo a aplicação no Eclipse 3.3 utilizando JPA Tools.
Qualquer erro, reporte-nos!
Até a próxima.
Abraços!
Tags: aplicação exemplo,Aula,Department,eclipse,eclipse 3.3,Ejb,EJB 3,façades,JPA Tools,Mapeacao JPA,mini-curso,Plugin Dalli,Sessions,Tutorial,User
Categorias: Cursos

7 Respostas a “Aplicação de exemplo usando Eclipse, JPA Tools, JBoss (Aula 2)”
Po, to esperando a parte 3.
Cara, ótimo tutorial…mas e a aula 3?
Desculpem, achei que não tinha ninguém acompanhando por isso parei.
Hoje a noite passo a parte 3.
Abraços!
Kara muito bom !!! .. Mas e ai nao rola outra aula ..
Diego, meu quase chará!!! estou desesperado atras da aula 3 preciso muitooo dessa aula…tenho que entregar um trabalho sobre este assunto e conto com a sua ajuda!!
Valeu cara, espero ansiosamente a parte 3
Diego… o que significa isto?
public List<Department> findAllDepartments();
public void create ( User user );
abcs
FOI MAUS… é que tava aparecendo errado na pagina…
mas depois vendo o codigo posterior vi que era um LIST
Deseja comentar?