diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 333cb8b..e55750a 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -338,8 +338,9 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public int listCount() { - return entityManager.createQuery("select count(distinct model) from " + persistentClass.getName() + " as model",Integer.class) - .getSingleResult(); + Long count = entityManager.createQuery("select count(distinct model) from " + persistentClass.getName() + " as model",Long.class) + .getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override @@ -369,14 +370,15 @@ public class BaseRepositoryImpl extends SimpleJpaRep } } - Query queryObject = entityManager.createQuery(queryString.toString(),Integer.class); + Query queryObject = entityManager.createQuery(queryString.toString(),Long.class); for (int i = 0; i < size; i++) { if(values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } - return (int) queryObject.getSingleResult(); + Long count = (Long) queryObject.getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override @@ -491,7 +493,8 @@ public class BaseRepositoryImpl extends SimpleJpaRep } } - return entityManager.createQuery(queryString.toString(),Integer.class).getSingleResult(); + Long count = entityManager.createQuery(queryString.toString(),Long.class).getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override @@ -548,12 +551,14 @@ public class BaseRepositoryImpl extends SimpleJpaRep queryString.append(hqlWhere); } - return entityManager.createQuery(queryString.toString(),Integer.class).getSingleResult(); + Long count = entityManager.createQuery(queryString.toString(), Long.class).getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override public int findByHqlCount(String hql) { - return entityManager.createQuery(hql,Integer.class).getSingleResult(); + Long count = entityManager.createQuery(hql,Long.class).getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override @@ -630,7 +635,8 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public int findBySqlCount(String sql) { - return (int) entityManager.createNativeQuery("select count(*) from ( " + sql + " ) as usertable",Integer.class).getSingleResult(); + Long count = (Long) entityManager.createNativeQuery("select count(*) from ( " + sql + " ) as usertable",Long.class).getSingleResult(); + return count == null ? 0 : count.intValue(); } @Override