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 Summary
Modifier and TypeMethodDescriptionlong
countByProject_UserAndProject_SemesterAndProject_ProjectFields_FieldAndProject_State
(User user, Semester semester, Field field, BaseEntity.State state) findAllAcceptedPatents
(Integer semesterId, BaseEntity.State state) findAllAcceptedPatentsByCollege
(Integer collegeId, Integer semesterId, BaseEntity.State state) findAllAcceptedPatentsByDepartment
(Integer departmentId, Integer semesterId, BaseEntity.State state) findAllAcceptedPatentsByUser
(Integer userId, Integer semesterId, BaseEntity.State state) org.springframework.data.domain.Page<ProjectPatent>
findByAcceptAtIsNotNullAndStateOrderByCreatedAtDesc
(BaseEntity.State state, org.springframework.data.domain.Pageable pageable) findByApplicationNumberAndState
(String applicationNumber, BaseEntity.State state) findByIdAndState
(Integer projectPatentId, BaseEntity.State state) findByIdWithInventors
(Integer patentId, BaseEntity.State state) findPatentsWithInventors
(List<ProjectPatent> patents) 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
-
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)
-