
org.bitbucket.brunneng.qb.JpaQueryBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of query-builder Show documentation
Show all versions of query-builder Show documentation
Compact tool for building SQL, JPA or hibernate queries.
Supports utilities for spring pagination and sorting.
Supports extending to other types of query languages.
Has no transitive dependencies - use only what you need.
The newest version!
package org.bitbucket.brunneng.qb;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
/**
* JPQL Query builder which uses jpa {@link EntityManager} to build queries.
*/
public class JpaQueryBuilder extends AbstractJpqlQueryBuilder {
private final EntityManager entityManager;
public JpaQueryBuilder(EntityManager entityManager) {
this.entityManager = entityManager;
}
@Override
protected Query createQuery(QueryWithParams queryWithParams) {
Query query = entityManager.createQuery(queryWithParams.getQuery());
applyParametersToQuery(query, queryWithParams.getParameters());
return query;
}
@Override
protected TypedQuery createTypedQuery(QueryWithParams queryWithParams, Class targetClass) {
TypedQuery query = entityManager.createQuery(queryWithParams.getQuery(), targetClass);
applyParametersToQuery(query, queryWithParams.getParameters());
return query;
}
@Override
protected Query createNativeQuery(QueryWithParams queryWithParams) {
Query query = entityManager.createNativeQuery(queryWithParams.getQuery());
applyParametersToQuery(query, queryWithParams.getParameters());
return query;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy