source: Git/Sources/src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java@ 980eeda

main
Last change on this file since 980eeda was 980eeda, checked in by Test <matonikolov77@…>, 22 months ago

Restructuring project

  • Property mode set to 100644
File size: 1.6 KB
Line 
1package com.wediscussmovies.project.repository;
2
3import com.wediscussmovies.project.model.Discussion;
4import com.wediscussmovies.project.model.Movie;
5import com.wediscussmovies.project.model.Person;
6import com.wediscussmovies.project.querymodels.DiscussionLikesQM;
7import org.springframework.data.jpa.repository.JpaRepository;
8import org.springframework.data.jpa.repository.Query;
9import org.springframework.data.repository.query.Param;
10import org.springframework.stereotype.Repository;
11
12import javax.transaction.Transactional;
13import java.util.List;
14
15@Repository
16public interface DiscussionRepository extends JpaRepository<Discussion, Integer> {
17 List<Discussion> findAllByTitleLike(String title);
18 List<Discussion> findAllByMovie(Movie movie);
19 List<Discussion> findAllByPerson (Person person);
20
21 @Query(value = "select new com.wediscussmovies.project.querymodels.DiscussionLikesQM(d.discussionId, count (dl.user) ) from Discussion d" +
22 " left join DiscussionLikes dl on dl.id.discussionId = d.discussionId" +
23 " where :id = d.discussionId" +
24 " group by d.discussionId")
25 @Transactional
26 DiscussionLikesQM findDiscussionWithLikes(@Param("id") Integer discussionId);
27
28 @Query(value = "select new com.wediscussmovies.project.querymodels.DiscussionLikesQM (d.discussionId, count(dl.user)) from Discussion d" +
29 " left join DiscussionLikes dl on dl.id.discussionId = d.discussionId" +
30 " group by d.discussionId"+
31 " order by d.discussionId asc")
32 @Transactional
33 List<DiscussionLikesQM
34 > findAllDiscussionsWithLikes();
35}
Note: See TracBrowser for help on using the repository browser.