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 Summary
Modifier and TypeMethodDescriptionlong
countByUserAndSemesterAndQuestionFields_FieldAndState
(User user, Semester semester, Field field, BaseEntity.State state) findAllQuestions
(Integer semesterId, BaseEntity.State state) findAllQuestionsByCollege
(Integer collegeId, Integer semesterId, BaseEntity.State state) findAllQuestionsByDepartment
(Integer departmentId, Integer semesterId, BaseEntity.State state) findAllQuestionsByUser
(Integer userId, Integer semesterId, BaseEntity.State state) findByIdAndState
(Integer questionIdx, BaseEntity.State state) findByIdAndStateWithPessimisticLock
(Integer questionIdx, BaseEntity.State state) Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save
Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlush
Methods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAll
Methods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAll
Methods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAll
Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
findByIdAndState
-
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)
-