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 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)