package com.jspxcms.core.repository;
import java.util.Collection;
import java.util.List;
import javax.persistence.QueryHint;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.QueryHints;
import org.springframework.data.repository.Repository;
import com.jspxcms.common.orm.Limitable;
import com.jspxcms.core.domain.ScoreGroup;
public interface ScoreGroupDao extends Repository<ScoreGroup, Integer>,
ScoreGroupDaoPlus {
public List<ScoreGroup> findAll(Specification<ScoreGroup> spec, Sort sort);
public List<ScoreGroup> findAll(Specification<ScoreGroup> spec,
Limitable limit);
public ScoreGroup findOne(Integer id);
public ScoreGroup save(ScoreGroup bean);
public void delete(ScoreGroup bean);
// --------------------
@QueryHints(value = { @QueryHint(name = org.hibernate.ejb.QueryHints.HINT_CACHEABLE, value = "true") })
public List<ScoreGroup> findBySiteIdAndNumber(Integer siteId, String number);
@Query("select count(*) from ScoreGroup bean where bean.number=?1 and bean.site.id=?2")
public long countByNumber(String number, Integer siteId);
@Query("select count(*) from ScoreGroup bean where bean.site.id in ?1")
public long countBySiteId(Collection<Integer> siteIds);
}