package com.zoowii.jpa_utils; import com.zoowii.jpa_utils.core.IWrappedQuery; import com.zoowii.jpa_utils.core.IWrappedTypedQuery; import com.zoowii.jpa_utils.core.Session; import com.zoowii.jpa_utils.query.ParameterBindings; import org.hibernate.Query; import java.util.List; /** * Created by zoowii on 14-12-23. */ public class HibernateQuery implements IWrappedTypedQuery { private final org.hibernate.Query originQuery; public HibernateQuery(Query originQuery) { this.originQuery = originQuery; } @Override public IWrappedQuery setParameter(int index, Object value) { return new HibernateQuery(originQuery.setParameter(index, value)); } @Override public IWrappedQuery setParameter(String key, Object value) { return new HibernateQuery(originQuery.setParameter(key, value)); } @Override public IWrappedQuery setParameter(int index, Object value, int sqlType) { return new HibernateQuery(originQuery.setParameter(index, value)); } @Override public IWrappedQuery setParameter(String key, Object value, int sqlType) { return new HibernateQuery(originQuery.setParameter(key, value)); } @Override public IWrappedQuery setMaxResults(int limit) { return new HibernateQuery(originQuery.setMaxResults(limit)); } @Override public IWrappedQuery setMaxResults(Session session, ParameterBindings parameterBindings, int limit) { return setMaxResults(limit); } @Override public IWrappedQuery setFirstResult(int offset) { return new HibernateQuery(originQuery.setFirstResult(offset)); } @Override public IWrappedQuery setFirstResult(Session session, ParameterBindings parameterBindings, int offset) { return setFirstResult(offset); } @Override public List getResultList() { return originQuery.list(); } @Override public Object getSingleResult() { return originQuery.uniqueResult(); } @Override public int executeUpdate() { return originQuery.executeUpdate(); } }