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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

125 HIBERNATE SEARCH3 searchFactory . buildQueryBuilder (). forEntity ( Pessoa . class ). get ();Código Java A.3: Obtendo um montador de consultas para a entidade PessoaAgora, através do QueryBuilder, podemos criar as consultas desejadas. Por exemplo, suponhaque desejemos buscar as pessoas que possuam a palavra “programador” em sua biografia. Então,devemos indicar que a busca será realizada por palavra chave através do método keyword(). Alémdisso, devemos indicar qual atributo da entidade Pessoa será considerado na busca <strong>com</strong> o métodoonField(). A palavra procurada deve ser definida através do método matching(). Veja o códigoabaixo.1 org . apache . lucene . search . Query luceneQuery2 = pessoaQueryBuilder . keyword (). onField (" biografia "). matching (" programador ");Código Java A.4: Criando uma consultaO próximo passo é transformar essa consulta do Lucene em uma consulta JPA. Essa tarefa é realizada<strong>com</strong> o método createFullTextQuery().1 javax . persistence . Query jpaQuery =2 fullTextManager . createFullTextQuery ( luceneQuery , Pessoa . class );Código Java A.5: Transformando uma Lucene Query em uma JPA QueryFinalmente, podemos executar a JPA Query.1 List < Pessoa > pessoas = jpaQuery . getResultList ();Código Java A.6: Transformando uma Lucene Query em uma JPA QueryExercícios de Fixação1 Crie um projeto no eclipse chamado K19-<strong>Hibernate</strong>-Search. Nesse projeto, adicione uma pastachamada lib.2 Entre na pasta K19-Arquivos/hibernate-search-4.1.1.Final/dist da Área de Trabalho e copie osjars dessa pasta, os da pasta lib/required, os da pasta lib/provided e os da pasta lib/optionalpara a pasta lib do projeto K19-<strong>Hibernate</strong>-Search.3 Entre na pasta K19-Arquivos/MySQL-Connector-JDBC da Área de Trabalho e copie o arquivomysql-connector-java-5.1.19.bin.jar para pasta lib do projeto K19-<strong>Hibernate</strong>-Search.4 Depois selecione todos os jars da pasta lib do projeto K19-<strong>Hibernate</strong>-Search e adicione-os noclasspath.5 Copie a pasta META-INF do projeto K19-<strong>JPA2</strong>-<strong>Hibernate</strong> para dentro da pasta src do projetoK19-<strong>Hibernate</strong>-Search. Altere o arquivo persistence.xml do projeto K19-<strong>Hibernate</strong>-Search, 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 "www.k19.<strong>com</strong>.br 125

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

Saved successfully!

Ooh no, something went wrong!