Ignore:
Timestamp:
02/08/22 20:13:23 (2 years ago)
Author:
Petar Partaloski <ppartaloski@…>
Branches:
main
Children:
0226942, 3fe36de
Parents:
3c0f9a9
Message:

Added new core functionalities, fixed bugs and improved visual clarity

Location:
src/main/java/com/wediscussmovies/project/repository
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java

    r3c0f9a9 rc02189f  
    44import com.wediscussmovies.project.model.Movie;
    55import com.wediscussmovies.project.model.Person;
     6import com.wediscussmovies.project.querymodels.DiscussionLikes;
     7import com.wediscussmovies.project.querymodels.GenreLikes;
    68import org.springframework.data.jpa.repository.JpaRepository;
     9import org.springframework.data.jpa.repository.Query;
    710import org.springframework.stereotype.Repository;
    811
     12import javax.transaction.Transactional;
    913import java.util.List;
    1014
     
    1418     List<Discussion> findAllByMovie(Movie movie);
    1519     List<Discussion> findAllByPerson (Person person);
     20
     21     @Query(value = "select new com.wediscussmovies.project.querymodels.DiscussionLikes(d.discussionId, count(dl.id.userId)) from Discussion d" +
     22             " left join DiscussionLikes dl on dl.id.discussionId = d.discussionId" +
     23             " group by d.discussionId" +
     24             " order by count(dl.id.userId) desc")
     25     @Transactional
     26     List<DiscussionLikes> findAllWithLikes();
    1627}
  • src/main/java/com/wediscussmovies/project/repository/GenreRepository.java

    r3c0f9a9 rc02189f  
    2828     @Transactional
    2929     void insertInto(@Param("user_id")Integer userId, @Param("genre_id")Integer genreId);
     30
     31     @Query(value = "select new com.wediscussmovies.project.model.Genre (g.genreId, g.genreType) from Genre g" +
     32     " ORDER BY g.genreType DESC")
     33     List<Genre> findAllSorted();
    3034}
  • src/main/java/com/wediscussmovies/project/repository/MovieRepository.java

    r3c0f9a9 rc02189f  
    33import com.wediscussmovies.project.model.Movie;
    44import com.wediscussmovies.project.model.Person;
     5import com.wediscussmovies.project.querymodels.GenreLikes;
     6import com.wediscussmovies.project.querymodels.MovieLikesQM;
    57import org.springframework.data.jpa.repository.JpaRepository;
    68import org.springframework.data.jpa.repository.Query;
     9import org.springframework.data.repository.query.Param;
    710import org.springframework.stereotype.Repository;
    811
     12import javax.transaction.Transactional;
    913import java.util.List;
     14import java.util.Optional;
    1015
    1116@Repository
     
    1621     @Query(value="select m.movieId from Movie m")
    1722     List<Integer> findAllMovieIds();
     23
     24     @Query(value="select new com.wediscussmovies.project.model.Movie(m.movieId, m.title, m.imdbRating, m.imageUrl) from Movie m" +
     25               " where m.movieId = :index")
     26     Optional<Movie> findBasicById(@Param("index")Integer index);
     27
     28
     29     @Query(value = "select new com.wediscussmovies.project.querymodels.MovieLikesQM(m.movieId, count(ml.id.userId)) from Movie m" +
     30             " left join MovieLikes ml on ml.id.movieId = m.movieId" +
     31             " group by m.movieId" +
     32             " order by count(ml.id.userId) desc")
     33     @Transactional
     34     List<MovieLikesQM> findAllWithLikes();
     35
     36     @Query(value = "select new com.wediscussmovies.project.querymodels.MovieLikesQM(m.movieId, count(ml.id.userId)) from Movie m" +
     37             " left join MovieLikes ml on ml.id.movieId = m.movieId" +
     38             " group by m.movieId" +
     39             " having m.movieId = :id")
     40     @Transactional
     41     List<MovieLikesQM> findLikesForMovie(@Param("id") Integer movie_id);
     42
     43
    1844}
Note: See TracChangeset for help on using the changeset viewer.