blog: Some changes.
Change-Id: Ic2053c65150f3cb9b7e121f4c859a45baf815a4b
diff --git a/blog/src/main/java/eu/mulk/demos/blog/PostResource.java b/blog/src/main/java/eu/mulk/demos/blog/PostResource.java
new file mode 100644
index 0000000..44410cf
--- /dev/null
+++ b/blog/src/main/java/eu/mulk/demos/blog/PostResource.java
@@ -0,0 +1,43 @@
+package eu.mulk.demos.blog;
+
+import java.util.List;
+import javax.transaction.Transactional;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+@Path("/posts")
+public class PostResource {
+
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ @Transactional
+ public List<Post> getAll() {
+ return Post.findAll().list();
+ }
+
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ @Transactional
+ @Path("/q1")
+ public List<Post> getAllWithComments() {
+ return Post.find("""
+ SELECT p FROM Post p
+ LEFT JOIN FETCH p.comments
+ """).list();
+ }
+
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ @Transactional
+ @Path("/q2")
+ public List<Post> getAllWithCommentsAndCategories() {
+ return Post.find("""
+ SELECT p FROM Post p
+ LEFT JOIN FETCH p.comments
+ LEFT JOIN FETCH p.categories
+ """).list();
+ }
+
+}