Persistência com JPA2 e Hibernate - Inpi
Persistência com JPA2 e Hibernate - Inpi
Persistência com JPA2 e Hibernate - Inpi
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