blob: 44410cf8a9113e00ad614cf0b1ade12e9695e993 [file] [log] [blame]
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();
}
}