Você está na página 1de 1

13 M APEAMENTO

Eventualmente, não desejamos que alguns atributos de um determinado grupo de objetos sejam
persistidos no banco de dados. Nesse caso, devemos aplicar o modificador transient ou a anotação
@Transient.

No exemplo abaixo, marcamos o atributo idade com a anotação @Transient para que essa infor-
mação não seja armazenada no banco de dados. A idade de uma pessoa pode ser deduzida a partir
de sua data de nascimento, que já está armazenada no banco.

1 @Entity
2 class Pessoa {
3 @Id
4 @GeneratedValue
5 private Long id ;
6
7 @Temporal ( TemporalType . DATE )
8 private Calendar nascimento ;
9
10 @Transient
11 private int idade ;
12 }

Código Java 2.8: Pessoa.java

Figura 2.2: Tabela correspondente à classe Pessoa. Note que essa tabela não possui nenhuma coluna associada ao atributo idade da classe
Pessoa

Field Access e Property Access

Os provedores de JPA precisam ter acesso ao estado das entidades para poder administrá-las.
Por exemplo, quando persistimos uma instância de uma entidade, o provedor deve “pegar” os da-
dos desse objeto e armazená-los no banco. Quando buscamos uma instância de uma entidade, o
provedor recupera as informações correspondentes do banco de dados e “guarda” em um objeto.

O JPA 2 define dois modos de acesso ao estado das instâncias das entidades: Field Access e Pro-
perty Access. Quando colocamos as anotações de mapeamento nos atributos, estamos optando pelo
modo Field Access. Por outro lado, também podemos colocar essas mesmas anotações nos métodos
getters. Nesse caso, estamos optando pelo modo Property Accesss.

No modo Field Access, os atributos dos objetos são acessados diretamente através de reflection
e não é necessário implementar métodos getters e setters. Nesse modo de acesso, se os métodos
getters e setters estiverem implementados, eles não serão utilizados pelo provedor JPA.

No modo Property Access, os métodos getters e setters devem necessariamente ser implementa-
dos pelo desenvolvedor. Esses métodos serão utilizados pelo provedor para que ele possa acessar e
modificar o estado dos objetos.

www.k19.com.br 13

Você também pode gostar