RSS

Java Persistence API – Entities

13 set

No meu último post tentei explicar como configurar o Hibernate 4. Agora vamos tentar entender o que está por tráz desta tecnologia. Vou tentar falar um pouco de JPA (Java Persistence API). Para ser mais preciso, vou escrever explicar o que é uma Entity, mas antes vamos definir JPA.

O que é o JPA?

A documentação diz que o JPA fornece / oferece aos desenvolvedores Java, uma forma de mapear os objetos-relacionais para gerenciar seus dados relacionais em aplicações Java.

O JPA é na verdade uma especificação utilizada para persistência de dados, faz parte da API e pode ser implementada por Frameworks, como o Hibernate, para seguir um padrão de persistência. Assim, se você criar seu mapeamento utilizando o JPA, será possível criar sua aplicação utilizando os Frameworks que o utilizam em sua implementação, tais como: Hibernate, EclipseLink e outros.

Entities

Uma entidade (Entity) é uma classe que irá representar uma tabela no banco de dados, ou seja, é a classe que vamos persistir. Cada instancia de uma Entity é uma linha da tabela.

As Entities apresentam campos (fields) ou propriedades (properties) que são usadas para mapeamento dos objetos-relacionais, que por anotações (annotations) definem esta entidade e seus relacionamentos.

A documentação do Java EE 6, diz que para ser uma Entity, a classe precisa:

  • Ser anotada como javax.persistence.Entity;
  • A classe deve ter um construtor sem argumentos;
  • A classe, assim como os métodos ou instancias variáveis de persistências, não podem ser declaradas como “final”;
  • Se uma classe é “passada” como valor em um objeto individual, ela deve ser implementada como “Serializable Interface”;
  • Entities podem extender classes definidas ou não como Entities. Também é possível que classes que não são definidas como Entity extendam classes que são definidas como Entity;
  • As variáveis que serão persistidas no banco de dados devem ser declaradas como “private”, “protected” ou “package-private” e podem ser acessadas diretamente por seus métodos (getters e setters);

Veja o exemplo de uma Entity chamada “Produto”:

@Entity

public class Produto implements {

@Id
private Long id;

private String nome;
private String unidade;
private String descricao;
private boolean status;

public Produto() {
super();
}
public Long getId() {
return this.id;
}

public void setId(Long id) {
this.id = id;
}
public String getNome() {
return this.nome;
}

public void setNome(String nome) {
this.nome = nome;
}
public String getUnidade() {
return this.unidade;
}

public void setUnidade(String unidade) {
this.unidade = unidade;
}

public String getDescricao() {
return this.descricao;
}

public void setDescricao(String descricao) {
this.descricao = descricao;
}

public boolean isStatus() {

  return status;

}

public void setStatus(boolean status) {
this.status = status;
}

}

 

No exemplo acima podemos ver que a Entity é nada mais que uma classe Java com suas propriedades e métodos que serão utilizadas pela aplicação.

As propriedades ou campos, podem ser declaradas como tipos primitivos, Strings ou outro tipo “Serializable” como:

  • BigInteger;
  • BigDecimal;
  • Date;
  • Calendar;
  • byte[];
  • outros;

Uma propriedade ou campo também pode usar “Collections” para definir seu tipo. Normalmente uma “Collection” é utilizada em relações entre Entities, como por exemplo uma classe de venda que contém uma listagem de itens para serem vendidos. Há outras formas de utilizar “Collections”, verificar documentação.

 
1 comentário

Publicado por em 13 de setembro de 2012 em Java

 

Tags: , , , , , , , ,

Uma resposta para “Java Persistence API – Entities

Deixe um comentário