Ramon Pereira Lopes

Sun Campus Ambassador at UFBA


« I Simpósio Java do... | Main | Palestra FTC & I... »
Segunda-feira Abr 07, 2008

Java Persistence API - Parte 2

Olá pessoal,

dando continuidade a nossa série sobre JPA, hoje vamos "dissecar" o que fizemos no último post.

JPA significa Java Persistence API, que basicamente é uma especificação para camada de persistência adicionando facilidades de mapeamento objeto relacional (ORM). O JPA define alguns elementos que vamos comentar abaixo:

1- Entity Classes

Um Entity Class representa uma tabela no banco de dados, ou seja, através desta classe, por meio de anotações, faremos o mapeamento para a tabela do banco de dados e de cada atributo para uma determinada coluna da tabela.

2- Persistent Unit

A fim de que o JPA localize o banco de dados e estabelecer as conexões JDBC, devemos criar um arquivo chamado persistence.xml no diretório META-INF. Dentro de tal arquivo é definida nossa "Persistent Unit", que define como conectar ao banco de dados (podemos trabalhar com mais de uma unidade de persistência no mesmo projeto). Como dissemos anteriormente, JPA é uma especificação para frameworks de persistência, então faz-se necessário a utilização de um provedor para o mesmo, como por exemplo TopLink Essentials, Hibernate Entity Manager, OpenJPA.

Vamos analisar a classe Rua.java explicando as principais anotações:

@Entity - Define que nossa clsse será persistente, ou seja, haverá uma correspondência desta classe com uma tabela do banco de dados

@Table(name = "rua") - Estamos definindo que esta classe persistente corresponderá à tabela denominada "rua".

@Id - Define que o atributo que está mapeado com tal anotação corresponderá à chave primária da tabela.

@Column(name = "id", nullable = false) - Define que o atributo da classe mapeado com tal anotação deve estar associado à coluna cujo nome é "id", além de definir que tal campo não pode ser nulo.

Vocês devem ter reparado que não comentei sobre as anotações @NamedQueries e @OneToMany, o motivo é que deixaremos para abordá-las nos próximos posts.

Gostaria de comentar que as Entity Classes devem disponibilizar métodos getters e setters para seus atributos, além de implementar a interface Serializable.

Acredito que estes foram os passos mais básicos a fim de se ter uma noção superfical do que é JPA. Com certeza existe muito mais coisa a ser abordada, logo vamos fazer o processo gradativamente. Para maiores informações sobre Entity Classes recomendo este link Entity Classes.

Até o próximo post pessoal!

Comments:

parabéns pela excelente iniciativa.
estou precisando fazer exatamente este tipo de aplicação. quando sairão os outros posts ?
vc poderia me adiantar algum material onde eu possa encontrar algo sobre inserção e consulta de dados no mysql com camada de persistência pelo netbeans 6.x ?
obrigado

Posted by mesquita gomes on Maio 19, 2008 at 07:07 PM BRT #

Post a Comment:
  • HTML Syntax: NOT allowed

Today's Page Hits: 19