|
|
|
@ -390,7 +390,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> listPager(Pager pager) {
|
|
|
|
|
if (pager.getTotalRows() > 0) {
|
|
|
|
|
if (pager != null) {
|
|
|
|
|
return entityManager.createQuery("from " + persistentClass.getName())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
@ -506,10 +506,9 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public T getByProperty(DdlPackBean packBean) {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
List<T> list = findByHqlWhere(packBean);
|
|
|
|
|
return list.size() != 0 ? list.get(0) : null;
|
|
|
|
|
List<T> list = findByHqlWherePage(packBean,Pager.defaultMinPager());
|
|
|
|
|
return list != null && list.size() != 0 ? list.get(0) : null;
|
|
|
|
|
}catch(NoResultException ne){
|
|
|
|
|
LOGGER.error("数据不存在,DdlPackBean:{}",packBean);
|
|
|
|
|
return null;
|
|
|
|
@ -521,21 +520,18 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public T getByProperty(String propertyName, Object value) {
|
|
|
|
|
String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName;
|
|
|
|
|
try {
|
|
|
|
|
List<T> list = entityManager.createQuery(queryString).setParameter(propertyName, value).getResultList();
|
|
|
|
|
return list.size() != 0 ? list.get(0) : null;
|
|
|
|
|
}catch(NoResultException ne){
|
|
|
|
|
LOGGER.error("数据不存在,prop:{},value:{}",propertyName,value,ne);
|
|
|
|
|
return null;
|
|
|
|
|
}catch(NonUniqueResultException ex){
|
|
|
|
|
LOGGER.error("查询单条记录,但出现多条。prop:{},value:{}",propertyName,value,ex);
|
|
|
|
|
throw new RuntimeException("存在多条记录:" + ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return getByPropertyPager(new String[]{propertyName}, new Object[]{value}, Pager.defaultMinPager());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public T getByProperty(String[] propertyNames, Object[] values) {
|
|
|
|
|
return getByPropertyPager(propertyNames, values, Pager.defaultMinPager());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public T getByPropertyPager(String[] propertyNames, Object[] values, Pager pager) {
|
|
|
|
|
pager = pager == null ? Pager.defaultMinPager(): pager;
|
|
|
|
|
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
@ -561,7 +557,10 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
List<T> list = queryObject.getResultList();
|
|
|
|
|
List<T> list = queryObject
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
return list.size() != 0 ? list.get(0) : null;
|
|
|
|
|
}catch(NoResultException ne){
|
|
|
|
|
LOGGER.error("数据不存在",ne);
|
|
|
|
@ -648,7 +647,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByPropertyPage(String propertyName, Object value, String orderByStuff, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName + " " + orderByStuff;
|
|
|
|
|
return entityManager.createQuery(queryString)
|
|
|
|
|
.setParameter(propertyName, value)
|
|
|
|
@ -660,7 +659,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByPropertyPage(String[] propertyNames, Object[] values, String orderByStuff, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
@ -791,7 +790,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlWherePage(String hqlWhere, Pager pager, String[] propertyNames, Object[] values, String orderByStuff) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
@ -826,7 +825,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
@Deprecated
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlWherePage(String hqlWhere, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
@ -845,7 +844,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlWherePage(DdlPackBean packBean, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
|
|
|
|
|
+ " as model where 1=1 " + packBean.getPackedHql());
|
|
|
|
|
|
|
|
|
@ -923,7 +922,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlPage(String hqlWhere, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
@ -942,7 +941,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlPage(DdlPackBean packBean, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
|
|
|
|
|
+ " as model where 1=1 " + packBean.getPackedHql());
|
|
|
|
|
|
|
|
|
@ -960,7 +959,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlPage(String hql, Pager pager, String[] paramName, Object[] paramValue) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for (int i = 0; i < paramName.length; i++) {
|
|
|
|
|
if (paramValue[i] != null) {
|
|
|
|
@ -988,7 +987,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List findBySqlPage(String sql, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
@ -1000,7 +999,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<?> findBySqlPage(String sql, Class entity, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
return entityManager.createNativeQuery(sql,entity)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
@ -1113,7 +1112,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
|
|
|
|
|
queryString.append(hql + " as model where 1=1 ");
|
|
|
|
@ -1152,7 +1151,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findByHqlPageObjects(String hql, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<Object[]>();
|
|
|
|
@ -1161,7 +1160,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findByHqlPageObjects(String hql, Pager pager, String[] paramName, Object[] paramValue) {
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
if(pager != null) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for (int i = 0; i < paramName.length; i++) {
|
|
|
|
|
if (paramValue[i] != null) {
|
|
|
|
@ -1182,7 +1181,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findBySqlObjListByPager(String sql, Pager pager) {
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(pager != null){
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|