11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

147 MAPEAMENTO COM XMLFigura D.2: Tabela correspondente à classe Pessoa. Note que essa tabela não possui nenhuma coluna associada ao atributo idade da classePessoaField Access e Property AccessOs 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 dadosdesse objeto e armazená-los no banco. Quando buscamos uma instância de uma entidade, oprovedor 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 PropertyAccess. Quando colocamos as anotações de mapeamento nos atributos, estamos optando pelomodo Field Access. Por outro lado, também podemos colocar essas mesmas anotações nos métodosgetters. Nesse caso, estamos optando pelo modo Property Accesss.No modo Field Access, os atributos dos objetos são acessados diretamente através de reflectione não é necessário implementar métodos getters e setters. Nesse modo de acesso, se os métodosgetters 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 implementadospelo desenvolvedor. Esses métodos serão utilizados pelo provedor para que ele possa acessar emodificar o estado dos objetos.Exercícios de Fixação1 Crie um projeto no Eclipse chamado K19-Mapeamento-XML. Copie a pasta lib do projeto K19-<strong>JPA2</strong>-<strong>Hibernate</strong> para o projeto K19-Mapeamento-XML. Depois adicione os jars dessa pasta no classpathdesse novo projeto.2 Abra o MySQL Workbench e apague a base de dados K21_mapeamento_xml_bd se existir. Depoiscrie a base de dados K21_mapeamento_xml_bd.3 Copie a pasta META-INF do projeto K19-<strong>JPA2</strong>-<strong>Hibernate</strong> para dentro da pasta src do projetoK19-Mapeamento-XML. Altere o arquivo persistence.xml do projeto K19-Mapeamento-XML, modificandoo nome da unidade de persistência e a base da dados. Veja <strong>com</strong>o o código deve ficar:1 < persistence version =" 2.0 "2 xmlns =" http: // java . sun . <strong>com</strong> / xml /ns/ persistence "3 xmlns:xsi =" http: // www .w3.org /2001/ XMLSchema - instance "4 xsi:schemaLocation =" http: // java . sun . <strong>com</strong> / xml /ns/ persistence5 http: // java . sun . <strong>com</strong> / xml /ns/ persistence / persistence_2_0 . xsd ">6www.k19.<strong>com</strong>.br 147

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!