Skip to content

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

License

Notifications You must be signed in to change notification settings

joaquimsn/query-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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