blob: 44410cf8a9113e00ad614cf0b1ade12e9695e993 [file] [log] [blame]
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +01001package eu.mulk.demos.blog;
2
3import java.util.List;
4import javax.transaction.Transactional;
5import javax.ws.rs.GET;
6import javax.ws.rs.Path;
7import javax.ws.rs.Produces;
8import javax.ws.rs.core.MediaType;
9
10@Path("/posts")
11public class PostResource {
12
13 @GET
14 @Produces(MediaType.TEXT_PLAIN)
15 @Transactional
16 public List<Post> getAll() {
17 return Post.findAll().list();
18 }
19
20 @GET
21 @Produces(MediaType.TEXT_PLAIN)
22 @Transactional
23 @Path("/q1")
24 public List<Post> getAllWithComments() {
25 return Post.find("""
26 SELECT p FROM Post p
27 LEFT JOIN FETCH p.comments
28 """).list();
29 }
30
31 @GET
32 @Produces(MediaType.TEXT_PLAIN)
33 @Transactional
34 @Path("/q2")
35 public List<Post> getAllWithCommentsAndCategories() {
36 return Post.find("""
37 SELECT p FROM Post p
38 LEFT JOIN FETCH p.comments
39 LEFT JOIN FETCH p.categories
40 """).list();
41 }
42
43}