source: Git/src/main/java/com/wediscussmovies/project/repository/GenreRepository.java@ c02189f

main
Last change on this file since c02189f was c02189f, checked in by Petar Partaloski <ppartaloski@…>, 2 years ago

Added new core functionalities, fixed bugs and improved visual clarity

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[6e7b472]1package com.wediscussmovies.project.repository;
2
[e0ef1b1]3import com.wediscussmovies.project.model.Genre;
4import com.wediscussmovies.project.querymodels.GenreLikes;
[6e7b472]5import org.springframework.data.jpa.repository.JpaRepository;
[3c0f9a9]6import org.springframework.data.jpa.repository.Modifying;
[e0ef1b1]7import org.springframework.data.jpa.repository.Query;
[3c0f9a9]8import org.springframework.data.repository.query.Param;
[6e7b472]9import org.springframework.stereotype.Repository;
10
[e0ef1b1]11import javax.transaction.Transactional;
[3c0f9a9]12import java.sql.Date;
[7a0bf79]13import java.util.List;
14
[6e7b472]15@Repository
16public interface GenreRepository extends JpaRepository<Genre, Integer> {
[e0ef1b1]17 List<Genre> findAllByGenreType(String genre);
18
[3c0f9a9]19 @Query(value = "select new com.wediscussmovies.project.querymodels.GenreLikes(g.genreId, g.genreType, count(ug.id.userId)) from Genre g" +
[e0ef1b1]20 " left join UserGenres ug on ug.id.genreId = g.genreId" +
[3c0f9a9]21 " group by g.genreId, g.genreType" +
[e0ef1b1]22 " order by count(ug.id.userId) desc")
23 @Transactional
24 List<GenreLikes> findAllWithLikes();
[3c0f9a9]25
26 @Modifying
27 @Query(value = "insert into project.user_genres (user_id,genre_id) values(:user_id,:genre_id)",nativeQuery = true)
28 @Transactional
29 void insertInto(@Param("user_id")Integer userId, @Param("genre_id")Integer genreId);
[c02189f]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();
[6e7b472]34}
Note: See TracBrowser for help on using the repository browser.