JPA: Como usar a anotação @Entity
Nesta documentação você aprenderá a utilizar a anotação @Entity para informar que uma classe representa uma entidade e que seus objetos devem ser persistidos no banco de dados.
O mapeamento objeto-relacional foi criado para abstrair as diferenças entre o modelo relacional e o paradigma orientado a objetos. Assim, deixa de ser necessário criarmos soluções com o intuito de converter dados em objetos e vice-versa. em Java, após a especificação JPA, isso passou a ser feito pelos frameworks que a implementam, como o Hibernate, EclipseLink e OpenJPA. A nós, desenvolvedores, basta fazer uso das anotações disponibilizadas pela JPA para viabilizar o mapeamento, evitando dessa forma criar uma forte dependência com alguma implementação.
Neste documento será apresentado como utilizar a anotação @Entity.
Tópicos
@Entity
A anotação @Entity é utilizada para informar que uma classe também é uma entidade. A partir disso, a JPA estabelecerá a ligação entre a entidade e uma tabela de mesmo nome no banco de dados, onde os dados de objetos desse tipo poderão ser persistidos.
Uma entidade representa, na Orientação a Objetos, uma tabela do banco de dados, e cada instância dessa entidade representa uma linha dessa tabela.
Caso a tabela possua um nome diferente, podemos estabelecer esse mapeamento com a anotação @Table, a qual será explorada em outra documentação.
Exemplo de uso:
@Entity
public class Produto {
}
Com este código, a classe Produto será uma entidade e terá uma tabela de mesmo nome no banco de dados. Objetos do tipo Produto, quando persistidos, terão seus dados armazenados nessa tabela.
Nota: A anotação @Entity faz parte do pacote javax.persistence.
A anotação @Entity ainda pode receber um parâmetro: name. Assim, ao invés de utilizar o nome da classe para referenciar a entidade no momento de criar uma consulta, por exemplo, você deverá referenciar o nome especificado nesse parâmetro.
Nota: Caso você implemente um construtor com parâmetros, lembre-se de implementar também um construtor sem parâmetros, para evitar erros em tempo de execução. Esse construtor é esperado pela implementação da JPA.
Exemplo de uso:
@Entity(nome=”EntidadeProduto”)
public class Produto {
}
Exemplo prático
Suponha que criamos a classe Pessoa e desejamos torná-la uma entidade, possibilitando que objetos desse tipo sejam persistidos. Para isso, deve-se anotá-la com @Entity.
Exemplo de uso:
@Entity
public class Pessoa {
@Id
private Long id;
private String nome;
//getters e setters omitidos...
}
Ao executar uma aplicação que tenha um código como esse, uma tabela de nome Pessoa será criada no banco de dados (caso não exista e assim seja configurado) e terá como colunas os campos id e nome.
Nota: A anotação @Id é uma anotação obrigatória e determina qual campo da entidade representa a chave primária da tabela no banco de dados. Falaremos sobre ela em outra documentação.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo