From 404ac1d20d5126c7ac5467171531d5e4a9936fc1 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 22 Feb 2020 11:29:37 +0100 Subject: BookmarkResource: Use JPA metamodel for type-safe Criteria queries. Change-Id: I7571a749275d733c9738eed01dad9fb2de7d77ba --- .../eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java index 53b7ddc..ad75c4c 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java @@ -13,6 +13,7 @@ import com.rometools.rome.io.FeedException; import com.rometools.rome.io.WireFeedOutput; import eu.mulk.mulkcms2.benki.accesscontrol.Role; import eu.mulk.mulkcms2.benki.users.User; +import eu.mulk.mulkcms2.benki.users.User_; import io.quarkus.qute.Template; import io.quarkus.qute.TemplateExtension; import io.quarkus.qute.TemplateInstance; @@ -269,9 +270,9 @@ public class BookmarkResource { var root = query.from(Bookmark.class); bm = root; query.select(root); - root.fetch("owner", JoinType.LEFT); + root.fetch(Bookmark_.owner, JoinType.LEFT); - var target = root.join("targets"); + var target = root.join(Bookmark_.targets); query.where(cb.equal(target, Role.getWorld())); } else { var userName = identity.getPrincipal().getName(); @@ -279,14 +280,14 @@ public class BookmarkResource { var root = query.from(User.class); query.where(cb.equal(root, user)); - bm = root.join("visibleBookmarks"); - bm.fetch("owner", JoinType.LEFT); + bm = root.join(User_.visibleBookmarks); + bm.fetch(Bookmark_.owner, JoinType.LEFT); } - query.orderBy(cb.desc(bm.get("date"))); + query.orderBy(cb.desc(bm.get(Bookmark_.date))); if (owner != null) { - query.where(cb.equal(bm.get("owner"), owner)); + query.where(cb.equal(bm.get(Bookmark_.owner), owner)); } var q = entityManager.createQuery(query); -- cgit v1.2.3