From 9090b2c66e90136469ca1bdc47baad96753af234 Mon Sep 17 00:00:00 2001 From: Joern Muehlencord Date: Sun, 16 Feb 2020 13:42:58 +0100 Subject: [PATCH] added find by query method --- .../de/muehlencord/shared/db/AbstractController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/db/src/main/java/de/muehlencord/shared/db/AbstractController.java b/db/src/main/java/de/muehlencord/shared/db/AbstractController.java index 859df50..1679c7e 100644 --- a/db/src/main/java/de/muehlencord/shared/db/AbstractController.java +++ b/db/src/main/java/de/muehlencord/shared/db/AbstractController.java @@ -24,6 +24,7 @@ import java.util.Map; import javax.ejb.Lock; import javax.ejb.LockType; import javax.persistence.EntityGraph; +import javax.persistence.Query; import javax.persistence.TypedQuery; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; @@ -78,6 +79,15 @@ public abstract class AbstractController extends CommonA T entity = (T) em.find(entityClass, id, hints); return entity; } + + @Lock(LockType.READ) + public List find(String queryName, Map parameterMap) throws ControllerException { + Query query = em.createNamedQuery(queryName); + parameterMap.entrySet().forEach((entry) -> { + query.setParameter(entry.getKey(), entry.getValue()); + }); + return query.getResultList(); + } /** * returns a list of all entities.