https://github.com/joaquimsn/query-search
Make searching and pagination easy with Hibernate ORM using JPQL or SQL
https://github.com/joaquimsn/query-search
filter hibernate jpql pagination pagination-library search sql
Last synced: 3 months ago
JSON representation
Make searching and pagination easy with Hibernate ORM using JPQL or SQL
- Host: GitHub
- URL: https://github.com/joaquimsn/query-search
- Owner: joaquimsn
- License: mit
- Created: 2017-07-27T14:25:37.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-08T18:20:49.000Z (almost 8 years ago)
- Last Synced: 2025-07-31T01:44:20.196Z (8 months ago)
- Topics: filter, hibernate, jpql, pagination, pagination-library, search, sql
- Language: Java
- Homepage:
- Size: 36.1 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Query-search
Make searching and pagination easy with Hibernate ORM using JPQL or SQL
[](https://travis-ci.org/joaquimsn/query-search)
[](https://coveralls.io/github/joaquimsn/query-search?branch=master)
[](https://sonarcloud.io/dashboard/index/com.github.joaquimsn:querysearch)
[](http://mvnrepository.com/artifact/com.github.joaquimsn/querysearch)
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
```xml
com.github.joaquimsn
querysearch
0.2.0
```
## Como usar
1. Implemente a classe **SearchRepository** para prover uma instância do objeto Query
```java
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**
```java
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](https://github.com/joaquimsn/query-search/tree/master/examples)