Você está aqui: JPA - Java Persistence Architecture API - Arquitetura de Persistência Java ::: Dicas & Truques ::: Entidades (Entity, Entities)

O que são entidades no JPA?

Quantidade de visualizações: 3320 vezes
Uma entidade em JPA é um objeto de domínio leve e de persistência. Por objeto de domínio entendemos os objetos de classes que pertencem ao domínio da aplicação (por exempo, as regras de negócios). Por leve entendemos que o custo de construir instâncias e manipular tais objetos é muito baixo, se comparado com algumas características de EJB e JEE. Finalmente entendemos que um objeto de persistência é um objeto que tem seus valores recuperados e/ou enviados (persistidos) a um banco de dados.

Geralmente uma entidade JPA representa uma tabela em um banco de dados relacional e cada instância desta entidade representa uma linha (registro ou tupla) na tabela. A base de uma entidade é a classe de entidade, embora entidades podem usar classes auxiliares (helper classes).

Uma classe de entidade JPA é tão simples quanto um POJO (Plain Old Java Objects). Isso quer dizer que qualquer classe Java pode ser uma entidade JPA. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import javax.persistence.*;

@Entity
@Table(name="usuarios")
public class Usuario{
  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  private int id;
  private String nome;
  
  public Usuario(){}

  public Usuario(int id){ 
    this.id = id; 
  }

  public int getId(){ 
    return id; 
  }

  public void setId(int id){
    this.id = id;
  }

  public String getNome(){
    return nome; 
  }

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

Note que antes da definição do nome desta classe nós temos duas anotações (annotation): a primeira usa javax.persistence.Entity para informar que esta classe é uma entidade. A segunda usa javax.persistence.Table para informar o nome da tabela para a qual a entidade será mapeada. Se não usássemos esta última anotação, a entidade seria mapeada para uma tabela chamada USUARIO.

Note que esta classe possui duas variáveis persistentes: id e nome. Consequentemente a tabela no banco de dados terá duas colunas com estes mesmos nomes.

O restante da classe se parece com um JavaBean, com seus métodos get e set. Há ainda as anotações que definem a propriedade a ser usada como chave primária da entidade e como os valores de tal chave serão gerados. Nas dicas sobre JPA você obtém mais detalhes sobre isso.

Para que uma classe Java possa ser usada como uma entidade JPA, ela deve obedecer a algumas regras:

a) - A classe deve ser anotada com a anotação javax.persistence.Entity;

b) - A classe deve ter um construtor sem argumento public ou protected. Outros construtores podem ser adicionados, contanto que um sem argumento seja fornecido.

c) - A classe não deve ser declarada como final. Nenhum dos métodos ou variáveis (persistentes) de instâncias devem ser declarados como final.

d) - Se uma instância de uma entidade for passada por valor como um objeto isolado, por exemplo, através da interface remota de um bean de sessão, a classe deverá implementar a interface Serializable.

e) - Entidades podem extender classes entidades e não-entidades. E classes não-entidades podem extender classes entidades.

f) - Variáveis persistentes de instâncias devem ser declaradas private, protected ou de pacote e devem ser acessadas somente pelos métodos da classe de entidade. Clientes de uma classe entidade devem acessar seu estado somente por meio de métodos get e set.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de JPA - Java Persistence Architecture API - Arquitetura de Persistência Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 37 usuários muito felizes estudando em nosso site.