/query-search

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

Primary LanguageJavaMIT LicenseMIT

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

  • Paginação com filtros dinamicos
  • Suporte a consulta e paginação com query sql
  • Retorno de objeto customizado para query nativas

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);
	}
}
  1. Implemente a classe SearchService
public class SearchServiceImpl implements SearchService {
	
	...
	
	@Override
	public SearchRepository getRepository() {
		return repository;
	}
}
  1. 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