Interface ProjectJpaRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<Project,
,Integer> org.springframework.data.jpa.repository.JpaRepository<Project,
,Integer> org.springframework.data.repository.ListCrudRepository<Project,
,Integer> org.springframework.data.repository.ListPagingAndSortingRepository<Project,
,Integer> org.springframework.data.repository.PagingAndSortingRepository<Project,
,Integer> org.springframework.data.repository.query.QueryByExampleExecutor<Project>
,org.springframework.data.repository.Repository<Project,
Integer>
public interface ProjectJpaRepository
extends org.springframework.data.jpa.repository.JpaRepository<Project,Integer>
ProjectJpaRepository는 Project 엔티티에 대한 데이터 액세스 기능을 제공.
-
Method Summary
Modifier and TypeMethodDescriptionlong
countByUserAndSemesterAndProjectFields_FieldAndState
(User user, Semester semester, Field field, BaseEntity.State state) findAllByState
(Integer semesterId, BaseEntity.State state) findAllByUserCollegeIdAndState
(Integer collegeId, Integer semesterId, BaseEntity.State state) findAllByUserDepartmentIdAndState
(Integer departmentId, Integer semesterId, BaseEntity.State state) findAllByUserIdAndState
(Integer userId, Integer semesterId, BaseEntity.State state) findByIdAndState
(Integer projectIdx, BaseEntity.State state) findProjectFieldsByProjectIds
(List<Integer> projectIds) 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
-
countByUserAndSemesterAndProjectFields_FieldAndState
long countByUserAndSemesterAndProjectFields_FieldAndState(User user, Semester semester, Field field, BaseEntity.State state) -
findAllByStateOrderById
-
findByIdAndStateWithPessimisticLock
@Lock(PESSIMISTIC_WRITE) @QueryHints() @Query("SELECT p FROM Project p WHERE p.id = :id AND p.state = :state") Optional<Project> findByIdAndStateWithPessimisticLock(@Param("id") Integer id, @Param("state") BaseEntity.State state) -
findAllByState
@Query("SELECT DISTINCT p FROM Project p JOIN FETCH p.user u JOIN FETCH u.userDepartments ud JOIN FETCH ud.department d JOIN FETCH d.college c JOIN FETCH p.semester s JOIN FETCH p.category cat WHERE p.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY c.id ASC, d.id ASC, u.userNumber ASC") List<Project> findAllByState(@Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state) -
findAllByUserCollegeIdAndState
@Query("SELECT DISTINCT p FROM Project p JOIN FETCH p.user u JOIN FETCH u.userDepartments ud JOIN FETCH ud.department d JOIN FETCH d.college c JOIN FETCH p.semester s JOIN FETCH p.category cat WHERE c.id = :collegeId AND p.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY c.id ASC, d.id ASC, u.userNumber ASC") List<Project> findAllByUserCollegeIdAndState(@Param("collegeId") Integer collegeId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state) -
findAllByUserDepartmentIdAndState
@Query("SELECT DISTINCT p FROM Project p JOIN FETCH p.user u JOIN FETCH u.userDepartments ud JOIN FETCH ud.department d JOIN FETCH d.college c JOIN FETCH p.semester s JOIN FETCH p.category cat WHERE d.id = :departmentId AND p.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY c.id ASC, d.id ASC, u.userNumber ASC") List<Project> findAllByUserDepartmentIdAndState(@Param("departmentId") Integer departmentId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state) -
findAllByUserIdAndState
@Query("SELECT DISTINCT p FROM Project p JOIN FETCH p.user u JOIN FETCH u.userDepartments ud JOIN FETCH ud.department d JOIN FETCH d.college c JOIN FETCH p.semester s JOIN FETCH p.category cat WHERE u.id = :userId AND p.state = :state AND (:semesterId IS NULL OR s.id = :semesterId) ORDER BY p.createdAt DESC") List<Project> findAllByUserIdAndState(@Param("userId") Integer userId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state) -
findProjectFieldsByProjectIds
@Query("SELECT DISTINCT pf FROM ProjectField pf JOIN FETCH pf.field WHERE pf.project.id IN :projectIds") List<ProjectField> findProjectFieldsByProjectIds(@Param("projectIds") List<Integer> projectIds)
-