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 |
Software 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 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 |