
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