Interface OrganizationSearchEntryRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<OrganizationSearchEntry,,String> org.springframework.data.jpa.repository.JpaRepository<OrganizationSearchEntry,,String> org.springframework.data.jpa.repository.JpaSpecificationExecutor<OrganizationSearchEntry>,org.springframework.data.repository.PagingAndSortingRepository<OrganizationSearchEntry,,String> org.springframework.data.repository.query.QueryByExampleExecutor<OrganizationSearchEntry>,org.springframework.data.repository.Repository<OrganizationSearchEntry,String>
@Repository
public interface OrganizationSearchEntryRepository
extends org.springframework.data.jpa.repository.JpaRepository<OrganizationSearchEntry,String>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<OrganizationSearchEntry>
-
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.data.domain.Page<OrganizationSearchEntry>findByCountry(String country, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>findByCountryAndStatus(String code, String status, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>findByType(String type, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>findByTypeAndStatus(String type, String status, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>findByTypeAndStatusForUser(String type, String status, String email, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>findByTypeForUser(String type, String email, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>org.springframework.data.domain.Page<OrganizationSearchEntry>searchCandidateDuplicates(String text, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>searchCandidateDuplicatesForUser(String text, String email, org.springframework.data.domain.Pageable pageable) org.springframework.data.domain.Page<OrganizationSearchEntry>searchForUser(String text, String email, List<String> statuses, org.springframework.data.domain.Pageable pageable) 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, findAll, findAll, findAllById, flush, getById, getOne, saveAll, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
count, findAll, findAll, findAll, findOneMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findOne
-
Method Details
-
search
@Query(value="SELECT * FROM org_index_search idx WHERE status in :statuses AND (name_norm ilike \'%\'||:text||\'%\' OR fulltext_search(txt, :text))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> search(@Param("text") String text, @Param("statuses") List<String> statuses, org.springframework.data.domain.Pageable pageable) -
searchForUser
@Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE uc.email = :email AND idx.status IN :statuses AND (idx.name_norm ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchForUser(@Param("text") String text, @Param("email") String email, @Param("statuses") List<String> statuses, org.springframework.data.domain.Pageable pageable) -
findByCountry
org.springframework.data.domain.Page<OrganizationSearchEntry> findByCountry(String country, org.springframework.data.domain.Pageable pageable) -
findByCountryAndStatus
org.springframework.data.domain.Page<OrganizationSearchEntry> findByCountryAndStatus(String code, String status, org.springframework.data.domain.Pageable pageable) -
findByType
org.springframework.data.domain.Page<OrganizationSearchEntry> findByType(String type, org.springframework.data.domain.Pageable pageable) -
findByTypeAndStatus
org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeAndStatus(String type, String status, org.springframework.data.domain.Pageable pageable) -
findByTypeForUser
@Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE idx.type = ?1 AND uc.email = ?2", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeForUser(String type, String email, org.springframework.data.domain.Pageable pageable) -
findByTypeAndStatusForUser
@Query(value="SELECT idx.* FROM org_index_search idx LEFT OUTER JOIN user_countries uc ON (uc.country = idx.country) WHERE idx.type = ?1 AND idx.status = ?2 AND uc.email = ?3", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> findByTypeAndStatusForUser(String type, String status, String email, org.springframework.data.domain.Pageable pageable) -
searchCandidateDuplicates
@Query(value="SELECT idx.* FROM org_index_search idx\nLEFT OUTER JOIN oa_duplicates d ON (idx.id = d.oa_original_id)\nWHERE idx.status = \'raw\' AND (idx.name ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))GROUP BY idx.id\nHAVING not(\'is_similar\' = ANY(array_agg(d.status)))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchCandidateDuplicates(@Param("text") String text, org.springframework.data.domain.Pageable pageable) -
searchCandidateDuplicatesForUser
@Query(value="SELECT idx.* FROM org_index_search idx\nLEFT OUTER JOIN oa_duplicates d ON (idx.id = d.oa_original_id)\nLEFT OUTER JOIN user_countries uc ON (uc.country = idx.country)\nWHERE idx.status = \'raw\' AND uc.email = :email AND (idx.name ilike \'%\'||:text||\'%\' OR fulltext_search(idx.txt, :text))\nGROUP BY idx.id\nHAVING not(\'is_similar\' = ANY(array_agg(d.status)))", nativeQuery=true) org.springframework.data.domain.Page<OrganizationSearchEntry> searchCandidateDuplicatesForUser(@Param("text") String text, @Param("email") String email, org.springframework.data.domain.Pageable pageable)
-