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 TypeMethodDescriptionlongcountByUserAndSemesterAndQuestionFields_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, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods 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)
-