/**
* Interface for accessing the low level primitive operations of save, delete, find and update operations
* on the aidr_predict DB from within DBManager module only.
*/
package qa.qcri.aidr.dbmanager.ejb.local.facade;
import java.io.Serializable;
import java.util.List;
import javax.ejb.Local;
import javax.persistence.EntityManager;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Projection;
import org.hibernate.sql.JoinType;
@Local
public interface CoreDBServiceFacade<E, I extends Serializable> {
public Session getCurrentSession();
public E getById(I id);
public E getByCriteria(Criterion criterion);
public E getByCriterionID(Criterion criterion);
public List<E> getAll();
public List<E> getAllByCriteria(Criterion criterion);
public List<E> getByCriteriaWithLimit(Criterion criterion, Integer count);
public List<E> getByCriteriaByOrder(Criterion criterion, String order, String[] orderBy, Integer count);
public List<E> getByCriteriaWithAliasByOrder(Criterion criterion, String order, String[] orderBy, Integer count, String aliasTable, Criterion aliasCriterion);
public List<E> getByCriteriaWithInnerJoinByOrder(Criterion criterion, String order, String[] orderBy, Integer count, String aliasTable, Criterion aliasCriterion);
public void update(E e);
public void update(List<E> entityCollection);
public Object merge(E e);
public void merge(List<E> entityCollection);
public I save(E e);
public void save(List<E> entityCollection);
public void delete(E e);
public void delete(List<E> entityCollection);
public void deleteByCriteria(Criterion criterion);
public EntityManager getEntityManager();
public int setEntityManager(EntityManager em);
public Criteria createCriteria(Criterion criterion,
String order, String[] orderBy, Integer count, String aliasTable,
Criterion aliasCriterion, Projection[] projections, JoinType joinType);
}