|
|
|
@ -261,10 +261,14 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> listPager(Pager pager) {
|
|
|
|
|
return entityManager.createQuery("from " + persistentClass.getName())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
return entityManager.createQuery("from " + persistentClass.getName())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -474,41 +478,49 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByPropertyPage(String propertyName, Object value, String orderByStuff, Pager pager) {
|
|
|
|
|
String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName + " " + orderByStuff;
|
|
|
|
|
return entityManager.createQuery(queryString)
|
|
|
|
|
.setParameter(propertyName, value)
|
|
|
|
|
.getResultList();
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName + " " + orderByStuff;
|
|
|
|
|
return entityManager.createQuery(queryString)
|
|
|
|
|
.setParameter(propertyName, value)
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByPropertyPage(String[] propertyNames, Object[] values, String orderByStuff, Pager pager) {
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model ");
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model ");
|
|
|
|
|
|
|
|
|
|
int size = propertyNames.length;
|
|
|
|
|
if (size > 0) {
|
|
|
|
|
queryString.append("where 1=1 ");
|
|
|
|
|
}
|
|
|
|
|
int size = propertyNames.length;
|
|
|
|
|
if (size > 0) {
|
|
|
|
|
queryString.append("where 1=1 ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]);
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(orderByStuff != null && orderByStuff.length() > 0){
|
|
|
|
|
queryString.append(orderByStuff);
|
|
|
|
|
}
|
|
|
|
|
if(orderByStuff != null && orderByStuff.length() > 0){
|
|
|
|
|
queryString.append(orderByStuff);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Query queryObject = entityManager.createQuery(queryString.toString());
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
queryObject.setParameter(propertyNames[i], values[i]);
|
|
|
|
|
}
|
|
|
|
|
Query queryObject = entityManager.createQuery(queryString.toString());
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
queryObject.setParameter(propertyNames[i], values[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -594,47 +606,55 @@ 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(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
if(propertyNames.length != values.length){
|
|
|
|
|
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
|
|
|
|
|
}
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int size = propertyNames.length;
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]);
|
|
|
|
|
int size = propertyNames.length;
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
queryString.append(" " + orderByStuff);
|
|
|
|
|
queryString.append(" " + orderByStuff);
|
|
|
|
|
|
|
|
|
|
Query queryObject = entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryObject.setParameter(propertyNames[i], values[i]);
|
|
|
|
|
Query queryObject = entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
|
|
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
|
|
if(values[i] != null) {
|
|
|
|
|
queryObject.setParameter(propertyNames[i], values[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return queryObject.getResultList();
|
|
|
|
|
return queryObject.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlWherePage(String hqlWhere, Pager pager) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return entityManager.createQuery(queryString.toString())
|
|
|
|
|
return entityManager.createQuery(queryString.toString())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -680,31 +700,39 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlPage(String hqlWhere, Pager pager) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return entityManager.createQuery(queryString.toString())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
return entityManager.createQuery(queryString.toString())
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findByHqlPage(String hql, Pager pager, String[] paramName, Object[] paramValue) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for(int i=0;i<paramName.length;i++){
|
|
|
|
|
if(paramValue[i] != null) {
|
|
|
|
|
queryObject.setParameter(paramName[i], paramValue[i].toString());
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for (int i = 0; i < paramName.length; i++) {
|
|
|
|
|
if (paramValue[i] != null) {
|
|
|
|
|
queryObject.setParameter(paramName[i], paramValue[i].toString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow())
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -719,18 +747,26 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List findBySqlPage(String sql, Pager pager) {
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<?> findBySqlPage(String sql, Class entity, Pager pager) {
|
|
|
|
|
return entityManager.createNativeQuery(sql,entity)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
return entityManager.createNativeQuery(sql,entity)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -793,17 +829,21 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<T> findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
StringBuffer queryString = new StringBuffer();
|
|
|
|
|
|
|
|
|
|
queryString.append(hql + " as model where 1=1 ");
|
|
|
|
|
queryString.append(hql + " as model where 1=1 ");
|
|
|
|
|
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
if (hqlWhere != null && hqlWhere.length() > 0) {
|
|
|
|
|
queryString.append(hqlWhere);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
queryString.append(" " + orderByStuff);
|
|
|
|
|
queryString.append(" " + orderByStuff);
|
|
|
|
|
|
|
|
|
|
return entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
return entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -825,19 +865,27 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findByHqlPageObjects(String hql, Pager pager) {
|
|
|
|
|
return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<Object[]>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findByHqlPageObjects(String hql, Pager pager, String[] paramName, Object[] paramValue) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for(int i=0;i<paramName.length;i++){
|
|
|
|
|
if(paramValue[i] != null) {
|
|
|
|
|
queryObject.setParameter(paramName[i], paramValue[i].toString());
|
|
|
|
|
if(pager.getTotalRows() > 0) {
|
|
|
|
|
Query queryObject = entityManager.createQuery(hql);
|
|
|
|
|
for (int i = 0; i < paramName.length; i++) {
|
|
|
|
|
if (paramValue[i] != null) {
|
|
|
|
|
queryObject.setParameter(paramName[i], paramValue[i].toString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<Object[]>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -847,10 +895,14 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Object[]> findBySqlObjListByPager(String sql, Pager pager) {
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
if(pager.getTotalRows() > 0){
|
|
|
|
|
return entityManager.createNativeQuery(sql)
|
|
|
|
|
.setFirstResult(pager.getStartRow())
|
|
|
|
|
.setMaxResults(pager.getPageSize())
|
|
|
|
|
.getResultList();
|
|
|
|
|
}else{
|
|
|
|
|
return new ArrayList<Object[]>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|