Interface QuestionJpaRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<Question,Integer>, org.springframework.data.jpa.repository.JpaRepository<Question,Integer>, org.springframework.data.repository.ListCrudRepository<Question,Integer>, org.springframework.data.repository.ListPagingAndSortingRepository<Question,Integer>, org.springframework.data.repository.PagingAndSortingRepository<Question,Integer>, org.springframework.data.repository.query.QueryByExampleExecutor<Question>, org.springframework.data.repository.Repository<Question,Integer>

public interface QuestionJpaRepository extends org.springframework.data.jpa.repository.JpaRepository<Question,Integer>
QuestionJpaRepository는 Question 엔티티에 대한 데이터 액세스 기능을 제공.
  • Method Details

    • findByIdAndState

      Optional<Question> findByIdAndState(Integer questionIdx, BaseEntity.State state)
    • countByUserAndSemesterAndQuestionFields_FieldAndState

      long countByUserAndSemesterAndQuestionFields_FieldAndState(User user, Semester semester, Field field, BaseEntity.State state)
    • findByIdAndStateWithPessimisticLock

      @Lock(PESSIMISTIC_WRITE) @QueryHints() @Query("SELECT q FROM Question q WHERE q.id = :questionIdx AND q.state = :state") Optional<Question> findByIdAndStateWithPessimisticLock(Integer questionIdx, BaseEntity.State state)
    • findAllQuestions

      @Query("SELECT DISTINCT q, u.userNumber FROM Question q JOIN q.user u JOIN u.userDepartments ud JOIN ud.department d JOIN d.college c JOIN q.semester s JOIN q.category cat JOIN q.questionFields qf JOIN qf.field f WHERE q.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY u.userNumber ASC") List<Question> findAllQuestions(@Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findAllQuestionsByCollege

      @Query("SELECT DISTINCT q, u.userNumber FROM Question q JOIN q.user u JOIN u.userDepartments ud JOIN ud.department d JOIN d.college c JOIN q.semester s JOIN q.category cat JOIN q.questionFields qf JOIN qf.field f WHERE c.id = :collegeId AND q.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY u.userNumber ASC") List<Question> findAllQuestionsByCollege(@Param("collegeId") Integer collegeId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findAllQuestionsByDepartment

      @Query("SELECT DISTINCT q, u.userNumber FROM Question q JOIN q.user u JOIN u.userDepartments ud JOIN ud.department d JOIN d.college c JOIN q.semester s JOIN q.category cat JOIN q.questionFields qf JOIN qf.field f WHERE d.id = :departmentId AND q.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY u.userNumber ASC") List<Question> findAllQuestionsByDepartment(@Param("departmentId") Integer departmentId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findAllQuestionsByUser

      @Query("SELECT DISTINCT q, u.userNumber FROM Question q JOIN q.user u JOIN u.userDepartments ud JOIN ud.department d JOIN d.college c JOIN q.semester s JOIN q.category cat JOIN q.questionFields qf JOIN qf.field f WHERE u.id = :userId AND q.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY u.userNumber ASC") List<Question> findAllQuestionsByUser(@Param("userId") Integer userId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)