package com.hongqiang.shop.website.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.FlushModeType;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Root;
import org.springframework.stereotype.Repository;
import com.hongqiang.shop.common.base.persistence.BaseDaoImpl;
import com.hongqiang.shop.common.utils.Filter;
import com.hongqiang.shop.website.entity.Navigation;
@Repository
public class NavigationDaoImpl extends BaseDaoImpl<Navigation,Long> implements
NavigationDaoCustom {
@Override
public List<Navigation> findList(Navigation.Position position) {
CriteriaBuilder localCriteriaBuilder = this.getEntityManager()
.getCriteriaBuilder();
CriteriaQuery<Navigation> localCriteriaQuery = localCriteriaBuilder
.createQuery(Navigation.class);
Root<Navigation> localRoot = localCriteriaQuery.from(Navigation.class);
localCriteriaQuery.select(localRoot);
if (position != null)
localCriteriaQuery.where(localCriteriaBuilder.equal(
localRoot.get("position"), position));
localCriteriaQuery.orderBy(new Order[] { localCriteriaBuilder
.asc(localRoot.get("order")) });
return this.getEntityManager().createQuery(localCriteriaQuery)
.setFlushMode(FlushModeType.COMMIT).getResultList();
}
@Override
public List<Navigation> findList(Integer first, Integer count,
List<Filter> filters,
List<com.hongqiang.shop.common.utils.Order> orders) {
String qlString = "select navigation from Navigation navigation where 1=1 ";
List<Object> parameter = new ArrayList<Object>();
return super.findList(qlString, parameter, first, count, filters,orders);
}
}