ProblemDAO.java 882 B

12345678910111213141516171819202122
  1. package com.moekr.moocoder.data.dao;
  2. import com.moekr.moocoder.data.entity.Problem;
  3. import com.moekr.moocoder.data.entity.User;
  4. import com.moekr.moocoder.util.enums.ProblemType;
  5. import org.springframework.data.domain.Page;
  6. import org.springframework.data.domain.Pageable;
  7. import org.springframework.data.jpa.repository.JpaRepository;
  8. import org.springframework.data.jpa.repository.Query;
  9. public interface ProblemDAO extends JpaRepository<Problem, Integer> {
  10. Page<Problem> findAllByType(ProblemType type, Pageable pageable);
  11. Page<Problem> findAllByCreatorIsNullOrCreator(User creator, Pageable pageable);
  12. @Query("SELECT p FROM Problem p WHERE (p.creator IS NULL OR p.creator = ?1) AND p.type = ?2")
  13. Page<Problem> findAllByCreatorIsNullOrCreatorAndType(User creator, ProblemType type, Pageable pageable);
  14. Problem findById(int id);
  15. Integer countByType(ProblemType type);
  16. }