package org.dayatang.dsmonitor.dao.impl; import org.dayatang.dsmonitor.dao.Dao; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import javax.inject.Inject; import java.util.List; @SuppressWarnings("rawtypes") public class HibernateDaoImpl implements Dao { @Inject private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } private Session getSession() { return sessionFactory.openSession(); } public List listResult(final String queryStr, final Object... values) { return createQuery(queryStr, values).list(); } public List listResultWithoutCloseConnection(String queryStr, Object... values) { return createQuery(queryStr, values).list(); } private Query createQuery(String queryStr, Object... values) { Query query = getSession().createQuery(queryStr); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } return query; } }