Interface ProjectPatentJpaRepository

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

@Repository public interface ProjectPatentJpaRepository extends org.springframework.data.jpa.repository.JpaRepository<ProjectPatent,Integer>
ProjectCommentJpaRepository는 Project 특허 엔티티에 대한 데이터 액세스 기능을 제공.
  • Method Details

    • findByIdAndState

      Optional<ProjectPatent> findByIdAndState(Integer projectPatentId, BaseEntity.State state)
    • findByApplicationNumberAndState

      Optional<ProjectPatent> findByApplicationNumberAndState(String applicationNumber, BaseEntity.State state)
    • countByProject_UserAndProject_SemesterAndProject_ProjectFields_FieldAndProject_State

      long countByProject_UserAndProject_SemesterAndProject_ProjectFields_FieldAndProject_State(User user, Semester semester, Field field, BaseEntity.State state)
    • findAllAcceptedPatents

      @Query("SELECT DISTINCT pp FROM ProjectPatent pp JOIN FETCH pp.project p JOIN FETCH p.user u LEFT JOIN FETCH u.userDepartments ud LEFT JOIN FETCH ud.department d LEFT JOIN FETCH d.college c WHERE pp.acceptAt IS NOT NULL AND p.state = :state AND (:semesterId IS NULL OR p.semester.id = :semesterId) ORDER BY pp.patentType ASC, u.userNumber ASC") List<ProjectPatent> findAllAcceptedPatents(@Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findPatentsWithInventors

      @Query("SELECT DISTINCT pp FROM ProjectPatent pp JOIN FETCH pp.projectPatentInventors WHERE pp IN :patents") List<ProjectPatent> findPatentsWithInventors(@Param("patents") List<ProjectPatent> patents)
    • findAllAcceptedPatentsByCollege

      @Query("SELECT DISTINCT pp FROM ProjectPatent pp JOIN FETCH pp.project p JOIN FETCH p.user u LEFT JOIN FETCH u.userDepartments ud LEFT JOIN FETCH ud.department d LEFT JOIN FETCH d.college c WHERE pp.acceptAt IS NOT NULL AND p.state = :state AND c.id = :collegeId AND (:semesterId IS NULL OR p.semester.id = :semesterId) ORDER BY pp.patentType ASC, u.userNumber ASC") List<ProjectPatent> findAllAcceptedPatentsByCollege(@Param("collegeId") Integer collegeId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findAllAcceptedPatentsByDepartment

      @Query("SELECT DISTINCT pp FROM ProjectPatent pp JOIN FETCH pp.project p JOIN FETCH p.user u LEFT JOIN FETCH u.userDepartments ud LEFT JOIN FETCH ud.department d LEFT JOIN FETCH d.college c WHERE pp.acceptAt IS NOT NULL AND p.state = :state AND d.id = :departmentId AND (:semesterId IS NULL OR p.semester.id = :semesterId) ORDER BY pp.patentType ASC, u.userNumber ASC") List<ProjectPatent> findAllAcceptedPatentsByDepartment(@Param("departmentId") Integer departmentId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findAllAcceptedPatentsByUser

      @Query("SELECT DISTINCT pp FROM ProjectPatent pp JOIN FETCH pp.project p JOIN FETCH p.user u LEFT JOIN FETCH u.userDepartments ud LEFT JOIN FETCH ud.department d LEFT JOIN FETCH d.college c WHERE pp.acceptAt IS NOT NULL AND p.state = :state AND u.id = :userId AND (:semesterId IS NULL OR p.semester.id = :semesterId) ORDER BY pp.patentType ASC, u.userNumber ASC") List<ProjectPatent> findAllAcceptedPatentsByUser(@Param("userId") Integer userId, @Param("semesterId") Integer semesterId, @Param("state") BaseEntity.State state)
    • findByIdWithInventors

      @Query("SELECT pp FROM ProjectPatent pp JOIN FETCH pp.project p JOIN FETCH p.user u LEFT JOIN FETCH pp.projectPatentInventors WHERE pp.id = :patentId AND pp.state = :state") Optional<ProjectPatent> findByIdWithInventors(@Param("patentId") Integer patentId, @Param("state") BaseEntity.State state)
    • findByAcceptAtIsNotNullAndStateOrderByCreatedAtDesc

      org.springframework.data.domain.Page<ProjectPatent> findByAcceptAtIsNotNullAndStateOrderByCreatedAtDesc(BaseEntity.State state, org.springframework.data.domain.Pageable pageable)