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 Details

    • findByIdAndState

      Optional<Project> findByIdAndState(Integer projectIdx, BaseEntity.State state)
    • countByUserAndSemesterAndProjectFields_FieldAndState

      long countByUserAndSemesterAndProjectFields_FieldAndState(User user, Semester semester, Field field, BaseEntity.State state)
    • findAllByStateOrderById

      List<Project> findAllByStateOrderById(BaseEntity.State state)
    • 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)