query-search

Query-search

Make searching and pagination easy with Hibernate ORM using JPQL or SQL

Build Status Coverage Status Quality Gate Maven Central

Query-search é uma lib criada para facilitar a implementação de consultas com paginação, construida em cima do ORM Hibernate com uma abordagem padronizada e flexível.

Principais características

Instalação

Adicione a dependência no seu projeto

<dependency>
  <groupId>com.github.joaquimsn</groupId>
  <artifactId>querysearch</artifactId>
  <version>0.2.0</version>
</dependency>

Como usar

  1. Implemente a classe SearchRepository para prover uma instância do objeto Query
    public class SearchRepositoryImpl implements SearchRepository {
    	
     ...
    	
     @Override
     public Query getQueryJpql(String jpql) {
         return entityManager.createQuery(jpql);
     }
     @Override
     public Query getQueryNativeQuery(String sqlQuery) {
         return entityManager.createNativeQuery(sqlQuery);
     }
    }
    
  2. Implemente a classe SearchService
    public class SearchServiceImpl implements SearchService {
    	
     ...
    	
     @Override
     public SearchRepository getRepository() {
         return repository;
     }
    }
    
  3. Agora é só implementar um filtro, use AbstractSpqlSearchFilter para paginação e consultas com sql, ou AbstractJpqlSearchFilter para trabalhar com entidades mapeadas

Veja um exemplo

Clique aqui para acessar os exemplos