Interface ActivityRepository
-
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<Activity,java.lang.Long>
,org.springframework.data.jpa.repository.JpaRepository<Activity,java.lang.Long>
,org.springframework.data.repository.PagingAndSortingRepository<Activity,java.lang.Long>
,org.springframework.data.repository.query.QueryByExampleExecutor<Activity>
,org.springframework.data.repository.Repository<Activity,java.lang.Long>
@Repository public interface ActivityRepository extends org.springframework.data.jpa.repository.JpaRepository<Activity,java.lang.Long>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<Activity>
findActivitiesOnAmountWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
java.util.List<Activity>
findActivitiesOnAmountWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
java.util.List<Activity>
findActivitiesOnDateWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
java.util.List<Activity>
findActivitiesOnDateWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
java.util.List<Activity>
findActivitiesOnDistanceWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Double longitude, java.lang.Double latitude, java.lang.Integer difficulty)
java.util.List<Activity>
findActivitiesOnDistanceWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Double longitude, java.lang.Double latitude)
java.util.List<Activity>
findActivitiesOnNoneWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
java.util.List<Activity>
findActivitiesOnNoneWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
java.util.List<Activity>
findAllFromNow()
java.util.List<Activity>
findFutureUserActivities(java.lang.Long userId)
java.util.Optional<java.lang.Integer>
findIfUserIsParticipantOfActivity(java.lang.Long userId, java.lang.Long activityId)
-
Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteById, existsById, findById, save
-
Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllInBatch, deleteInBatch, findAll, findAll, findAll, findAll, findAllById, flush, getOne, saveAll, saveAndFlush
-
-
-
-
Method Detail
-
findAllFromNow
@Query(value="SELECT * FROM activity WHERE activity.start_time > NOW()", nativeQuery=true) java.util.List<Activity> findAllFromNow()
-
findIfUserIsParticipantOfActivity
@Query(value="SELECT user_activity.user_id FROM user_activity WHERE user_activity.user_id=?1 AND user_activity.activity_id=?2", nativeQuery=true) java.util.Optional<java.lang.Integer> findIfUserIsParticipantOfActivity(java.lang.Long userId, java.lang.Long activityId)
-
findFutureUserActivities
@Query(value="SELECT activity.* FROM activity JOIN user_activity ON (activity.activity_id = user_activity.activity_id AND user_activity.user_id=?1 AND activity.start_time > NOW())", nativeQuery=true) java.util.List<Activity> findFutureUserActivities(java.lang.Long userId)
-
findActivitiesOnDateWithoutFilter
@Query(value="SELECT * FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.start_time > NOW() ORDER BY activity.start_time LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnDateWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
-
findActivitiesOnDateWithFilter
@Query(value="SELECT * FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.difficulty=?3 AND activity.start_time > NOW() ORDER BY activity.start_time LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnDateWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
-
findActivitiesOnAmountWithoutFilter
@Query(value="SELECT activity.* FROM activity LEFT JOIN user_activity ON (activity.activity_id = user_activity.activity_id ) WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.start_time > NOW() GROUP BY activity.activity_id ORDER BY COUNT(user_activity.activity_id) DESC LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnAmountWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
-
findActivitiesOnAmountWithFilter
@Query(value="SELECT activity.* FROM activity LEFT JOIN user_activity ON (activity.activity_id = user_activity.activity_id ) WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.difficulty = ?3 AND activity.start_time > NOW() GROUP BY activity.activity_id ORDER BY COUNT(user_activity.activity_id) DESC LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnAmountWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
-
findActivitiesOnDistanceWithoutFilter
@Query(value="SELECT activity.* FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.start_time > NOW() ORDER BY SQRT(POW((?3-longitude),2)+POW((?4-latitude),2)) LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnDistanceWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Double longitude, java.lang.Double latitude)
-
findActivitiesOnDistanceWithFilter
@Query(value="SELECT activity.* FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.difficulty = ?5 AND activity.start_time > NOW() ORDER BY SQRT(POW((?3-longitude),2)+POW((?4-latitude),2)) LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnDistanceWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Double longitude, java.lang.Double latitude, java.lang.Integer difficulty)
-
findActivitiesOnNoneWithoutFilter
@Query(value="SELECT * FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.start_time > NOW() LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnNoneWithoutFilter(java.lang.String searchQuery, java.lang.Integer amount)
-
findActivitiesOnNoneWithFilter
@Query(value="SELECT * FROM activity WHERE (activity.title LIKE ?1 OR activity.description LIKE ?1) AND activity.start_time > NOW() AND activity.difficulty = ?3 LIMIT ?2", nativeQuery=true) java.util.List<Activity> findActivitiesOnNoneWithFilter(java.lang.String searchQuery, java.lang.Integer amount, java.lang.Integer difficulty)
-
-