|
@@ -19,6 +19,7 @@ import javax.persistence.EntityManagerFactory;
|
|
|
import javax.persistence.FlushModeType;
|
|
import javax.persistence.FlushModeType;
|
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
import javax.persistence.criteria.Root;
|
|
|
|
|
|
|
|
import org.apache.commons.io.FilenameUtils;
|
|
import org.apache.commons.io.FilenameUtils;
|
|
@@ -33,6 +34,8 @@ import com.x.base.core.container.factory.PersistenceXmlHelper;
|
|
|
import com.x.base.core.entity.JpaObject;
|
|
import com.x.base.core.entity.JpaObject;
|
|
|
import com.x.base.core.entity.StorageObject;
|
|
import com.x.base.core.entity.StorageObject;
|
|
|
import com.x.base.core.entity.annotation.ContainerEntity;
|
|
import com.x.base.core.entity.annotation.ContainerEntity;
|
|
|
|
|
+import com.x.base.core.entity.dataitem.DataItem;
|
|
|
|
|
+import com.x.base.core.entity.dataitem.ItemCategory;
|
|
|
import com.x.base.core.project.config.Config;
|
|
import com.x.base.core.project.config.Config;
|
|
|
import com.x.base.core.project.config.DumpRestoreData;
|
|
import com.x.base.core.project.config.DumpRestoreData;
|
|
|
import com.x.base.core.project.config.StorageMapping;
|
|
import com.x.base.core.project.config.StorageMapping;
|
|
@@ -43,7 +46,7 @@ import com.x.base.core.project.logger.LoggerFactory;
|
|
|
import com.x.base.core.project.tools.ClassLoaderTools;
|
|
import com.x.base.core.project.tools.ClassLoaderTools;
|
|
|
import com.x.base.core.project.tools.DateTools;
|
|
import com.x.base.core.project.tools.DateTools;
|
|
|
import com.x.base.core.project.tools.ListTools;
|
|
import com.x.base.core.project.tools.ListTools;
|
|
|
-import com.x.base.core.project.tools.StringTools;
|
|
|
|
|
|
|
+import com.x.query.core.entity.Item;
|
|
|
|
|
|
|
|
import net.sf.ehcache.hibernate.management.impl.BeanUtils;
|
|
import net.sf.ehcache.hibernate.management.impl.BeanUtils;
|
|
|
|
|
|
|
@@ -259,7 +262,13 @@ public class RestoreData {
|
|
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
|
|
CriteriaQuery<T> cq = cb.createQuery(cls);
|
|
CriteriaQuery<T> cq = cb.createQuery(cls);
|
|
|
Root<T> root = cq.from(cls);
|
|
Root<T> root = cq.from(cls);
|
|
|
- list = em.createQuery(cq.select(root)).setMaxResults(containerEntity.dumpSize()).getResultList();
|
|
|
|
|
|
|
+ Predicate p = cb.conjunction();
|
|
|
|
|
+ if ((Item.class == cls) && (StringUtils.isNotBlank(Config.dumpRestoreData().getItemCategory()))) {
|
|
|
|
|
+ p = cb.and(p, cb.equal(root.get(DataItem.itemCategory_FIELDNAME),
|
|
|
|
|
+ ItemCategory.valueOf(Config.dumpRestoreData().getItemCategory())));
|
|
|
|
|
+ }
|
|
|
|
|
+ list = em.createQuery(cq.select(root).where(p)).setMaxResults(containerEntity.dumpSize())
|
|
|
|
|
+ .getResultList();
|
|
|
} while (ListTools.isNotEmpty(list));
|
|
} while (ListTools.isNotEmpty(list));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|