Codigos Fonte, Artigos e Dicas
JEE(1/2)Tutorial JPA com Hibernate, Eclipse e PostgreSQL

Versões usadas:
Eclipse 3.5 SR1
PostgreSQL 8.3
Driver PostgreSQL 8.3
Jboss
O que é JPA?
Java Persistence API, é uma API padrão do java para persistência que deve ser implementada por frameworks que queiram seguir o padrão. Diversos frameworks de mapeamento objeto/relacional como o Hibernate implementam a JPA. Também gerencia o desenvolvimento de entidades do Modelo Relacional usando a plataforma nativa JSE e Java EE.
O que vou usar pra salvar no banco?
Hibernate – É um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação.
Hibernate é um software livre de código aberto distribuído com a licença LGPL.
Qual o servidor que vou usar?
Existem muitos, o que eu estou usando é o JBOSS.
JBoss (pronuncia-se Djei Boss) é um servidor de aplicação de código fonte aberto baseado na plataforma J2EE implementada completamente na linguagem de programação Java. Como é baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java. Os desenvolvedores responsáveis estão agora empregados por uma empresa de serviços chamada “JBoss Inc.” fundada por Marc Fleury, o criador da primeira versão do JBoss. O projeto é custeado por uma rede mundial de colaboradores. Em Abril de 2006 foi anunciada sua aquisição pela Red Hat.
Com tudo instalado e pronto vamos começar:
New>JPA Project
Damos um nome para o projeto.
Logo após vamos direto ao arquivo persistence.xml para configura-lo.
<properties>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.username" value="*******"/>
<property name="hibernate.connection.password" value="*******"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/<BANCO>"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
Esse arquivo serve para “linkar” o seu codigo com o seu banco de dados.
Com ele o nosso amigo Hibernate, consegue conectar e desconectar do banco sem mais alerde.
Com o nome de usuario e senha do seu banco.
Tabela exemplo:
CREATE TABLE pessoa ( oid integer NOT NULL, identidade character varying(15), cpf character varying(15), nome character varying(80), dt_nasc character varying(50), sexo character varying(50), CONSTRAINT vestonline_pkey PRIMARY KEY (oid) ) WITH (OIDS=FALSE); ALTER TABLE pessoa OWNER TO postgres;
Com esta parte pronta vamos gerar as Entidades, ou seja, sabendo que o seu banco de dados já esta pronto, vamos fazer uma engenharia reversa e gerar as entidades.
Clique com o direito no projeto JPA…
JPA Tools>Generate Entities…
Você escolhe uma Connection um Schema e da Next…
Não se esqueça de marcar a CheckBox Synchronize Classes in persistence.xml, para que ele coloque sua entidade no arquivo de persistencia e poupe trabalho. Marque as tabelas que vc deseja usar, e finalize.
Sua classe vai ficar assim:
package br.ucam.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.hibernate.validator.*;
@Entity
public class Pessoa implements Serializable {
@Id
private Integer oid;
@NotEmpty //Validação no formulario
@Length(min=5,max=50) //Validação no formulario
private String identidade;
@NotEmpty //Validação no formulario
@Length(min=14,max=14) //Validação no formulario
private String cpf;
@NotEmpty //Validação no formulario
@Length(min=5,max=50) //Validação no formulario
private String nome;
@Column(name="dt_nasc") //Validação no formulario
private String dtNasc;
@NotEmpty //Validação no formulario
@Length(min=1,max=1) //Validação no formulario
private String sexo;
private static final long serialVersionUID = 1L;
public Pessoa() {
super();
}
public Integer getOid() {
return this.oid;
}
public void setOid(Integer oid) {
this.oid = oid;
}
public String getIdentidade() {
return this.identidade;
}
public void setIdentidade(String identidade) {
this.identidade = identidade;
}
public String getCpf() {
return this.cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDtNasc() {
return this.dtNasc;
}
public void setDtNasc(String dtNasc) {
this.dtNasc = dtNasc;
}
public String getSexo() {
return this.sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
}
Pronto vc ja tem as suas entidades mapeadas e prontas para teste.
Proximo post será para fazer testes com essa classe.
Simples assim…
Fonte:
http://pt.wikipedia.org/wiki/Java_Persistence_API
http://pt.wikipedia.org/wiki/Hibernate
http://pt.wikipedia.org/wiki/JBoss
http://br.sun.com/
Nenhum post foi relacionado a este
| Imprimir artigo | Este artigo foi escrito por paulodiogo em 10 10UTC dezembro 10UTC 2009 às 8:57, e está arquivado em Java. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |

há 2 anos atrás
Simples, pratico e direto… gostei muito!!
pra quem esta começando…muito bom!
[Reply]
Paulo Diogo Reply:
janeiro 14th, 2010 at 19:09
Obrigado =D qlq duvida e so falar
[Reply]
Eduardo Reply:
janeiro 15th, 2010 at 10:45
minha unica duvida no momento é… Quando sai do forno a próxima parte do tutorial?
[Reply]
Paulo Diogo Reply:
janeiro 16th, 2010 at 7:55
Essa semana sai heheh
há 2 anos atrás
deu o seguinte problema:
Classpath entry eclipse.fproj.jdt.libprov.osgi/jpt.jpa is marked for publish/export but is not exported on the project classpath. Classpath visibility within Eclipse and at runtime will differ.
[Reply]
Paulo Diogo Reply:
março 24th, 2010 at 16:18
vc colocou os arquivos do Hibernate dentro da pasta do JBoss?
[Reply]
Leandro Reply:
março 24th, 2010 at 16:44
nao, como faz? e quais sao
[Reply]
Leandro Reply:
março 24th, 2010 at 16:45
usei o plugin geral jboss-seam-tools
Paulo Diogo Reply:
março 24th, 2010 at 16:45
tem gtalk? entra ai se tiver =D
vou dar uma olhada aki…
há 11 meses atrás
Bicho, muito bom o tutorial porém gostaria de saber se quanto tempo terá a disponibilidade da próxima etapa. Grato pela atenção.
[Reply]