From 1c45fb44710226901134585897d6a166ff87eb42 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Wed, 22 May 2019 20:01:34 +0200 Subject: [PATCH] deprecated criteria api replaced --- .../lcsb/mapviewer/persist/dao/BaseDao.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java index 1393a472c8..3ccc22f2a8 100644 --- a/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java +++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java @@ -2,11 +2,13 @@ package lcsb.mapviewer.persist.dao; import java.util.List; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.hibernate.Session; -import org.hibernate.criterion.Projections; -import org.hibernate.criterion.Restrictions; import org.hibernate.dialect.Dialect; import org.hibernate.query.Query; import org.springframework.beans.factory.annotation.Autowired; @@ -165,12 +167,15 @@ public abstract class BaseDao<T> { * @return number of all elements in database */ public long getCount() { - if (removableColumn == null) { - return (Long) getSession().createCriteria(this.clazz).setProjection(Projections.rowCount()).uniqueResult(); - } else { - return (Long) getSession().createCriteria(this.clazz).add(Restrictions.eq(removableColumn, false)) - .setProjection(Projections.rowCount()).uniqueResult(); + CriteriaBuilder builder = getSession().getCriteriaBuilder(); + CriteriaQuery<Long> criteria = builder.createQuery(Long.class); + Root<T> root = criteria.from(this.clazz); + + if (removableColumn != null) { + criteria.where(builder.equal(root.get(removableColumn), false)); } + criteria.select(builder.count(root)); + return getSession().createQuery(criteria).getSingleResult(); } /** -- GitLab