All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gra4j.gazelle.JPAQuery.sql.AbstractSqlQuery Maven / Gradle / Ivy

The newest version!
package org.gra4j.gazelle.JPAQuery.sql;

import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * gazelle
 * org.gra4j.gazelle.JPAQuery.query
 *
 * @author tom.long
 */
public class AbstractSqlQuery  implements SqlQuery {

    private EntityManager em;

    public AbstractSqlQuery (EntityManager em) {
        this.em = em;
    }

    @Override
    public List query (String jpql) {
        Query query = em.createQuery(jpql);
        return query.getResultList();
    }

    @Override
    public List query (String jpql, Class resultClass) {
        TypedQuery query = em.createQuery(jpql, resultClass);
        return query.getResultList();
    }

    @Override
    public List query (String jpql, Map param) {
        Query query = em.createQuery(jpql);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List query (String jpql, List param) {
        Query query = em.createQuery(jpql);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List query (String jpql, Class resultClass, Map param) {
        TypedQuery query = em.createQuery(jpql, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List query (String jpql, Class resultClass, List param) {
        TypedQuery query = em.createQuery(jpql, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name) {
        Query query = em.createNamedQuery(name);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name, Class resultClass) {
        Query query = em.createNamedQuery(name, resultClass);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name, Map param) {
        Query query = em.createNamedQuery(name);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name, List param) {
        Query query = em.createNamedQuery(name);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name, Class resultClass, Map param) {
        Query query = em.createNamedQuery(name, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List namedQuery (String name, Class resultClass, List param) {
        Query query = em.createNamedQuery(name, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql) {
        Query query = em.createNativeQuery(sql);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, Class resultClass) {
        Query query = em.createNativeQuery(sql, resultClass);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, String resultSetMapping) {
        Query query = em.createNativeQuery(sql, resultSetMapping);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, Map param) {
        Query query = em.createNativeQuery(sql);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, List param) {
        Query query = em.createNativeQuery(sql);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, Class resultClass, Map param) {
        Query query = em.createNativeQuery(sql, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, Class resultClass, List param) {
        Query query = em.createNativeQuery(sql, resultClass);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, String resultSetMapping, Map param) {
        Query query = em.createNativeQuery(sql, resultSetMapping);
        setParameter(query, param);
        return query.getResultList();
    }

    @Override
    public List nativeQuery (String sql, String resultSetMapping, List param) {
        Query query = em.createNativeQuery(sql, resultSetMapping);
        setParameter(query, param);
        return query.getResultList();
    }

    private void setParameter (Query query, Map param) {
        Set> entries = param.entrySet();
        for (Map.Entry entry:entries)
            query.setParameter(entry.getKey(), entry.getValue());
    }

    private void setParameter (Query query, List param) {
        int size = param.size();
        for (int i=1;i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy