List of usage examples for org.hibernate Criteria setCacheable
public Criteria setCacheable(boolean cacheable);
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateDao.java
License:Apache License
@Override public final <T> List<T> findAll(Class<T> clazz, int firstResult, int maxResults, Order... orders) { if (ArrayTool.isEmpty(orders)) { Query query = getSession().createQuery("from " + clazz.getName()); HibernateTool.setPaging(query, firstResult, maxResults); return (List<T>) query.setCacheable(cacheable).list(); } else {/* w ww . j av a 2 s.com*/ Criteria criteria = getSession().createCriteria(clazz); HibernateTool.setPaging(criteria, firstResult, maxResults); if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); } }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateDao.java
License:Apache License
@Override public final <T> List<T> find(Class<T> clazz, Criteria criteria, Order... orders) { if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateDao.java
License:Apache License
@Override public final <T> List<T> find(Class<T> clazz, Criteria criteria, int firstResult, int maxResults, Order... orders) {//from w ww.j a v a2s. c om HibernateTool.setPaging(criteria, firstResult, maxResults); if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateDao.java
License:Apache License
@Override public <T> T findUnique(Class<T> clazz, Criteria criteria) { return (T) criteria.setCacheable(cacheable).uniqueResult(); }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateRepository.java
License:Apache License
@Override public final <E> List<E> findAll(Order... orders) { if (ArrayTool.isEmpty(orders)) { Query query = getSession().createQuery("from " + entityClazz.getName()); return (List<E>) query.setCacheable(cacheable).list(); } else {/* ww w .jav a 2 s . c om*/ Criteria criteria = getSession().createCriteria(entityClazz); HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); } }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateRepository.java
License:Apache License
@Override public final <E> List<E> findAll(int firstResult, int maxResults, Order... orders) { if (ArrayTool.isEmpty(orders)) { Query query = getSession().createQuery("from " + entityClazz.getName()); HibernateTool.setPaging(query, firstResult, maxResults); return (List<E>) query.setCacheable(cacheable).list(); } else {// w w w . ja v a 2 s . c o m Criteria criteria = getSession().createCriteria(entityClazz); HibernateTool.setPaging(criteria, firstResult, maxResults); if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); } }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateRepository.java
License:Apache License
@Override public final <E> List<E> find(Criteria criteria, Order... orders) { if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateRepository.java
License:Apache License
@Override public final <E> List<E> find(Criteria criteria, int firstResult, int maxResults, Order... orders) { HibernateTool.setPaging(criteria, firstResult, maxResults); if (!ArrayTool.isEmpty(orders)) HibernateTool.addOrders(criteria, orders); return criteria.setCacheable(cacheable).list(); }
From source file:kr.debop4j.data.hibernate.repository.impl.HibernateRepository.java
License:Apache License
@Override public <E> E findUnique(Criteria criteria) { return (E) criteria.setCacheable(cacheable).uniqueResult(); }
From source file:lucee.runtime.orm.hibernate.HibernateORMSession.java
License:Open Source License
private Object load(PageContext pc, String cfcName, Struct filter, Struct options, String order, boolean unique) throws PageException { Component cfc = data.getEngine().create(pc, this, cfcName, false); Key dsn = KeyImpl.init(ORMUtil.getDataSourceName(pc, cfc)); Session sess = getSession(dsn);//ww w . j av a2 s. c o m String name = HibernateCaster.getEntityName(cfc); ClassMetadata metaData = null; Object rtn; try { //trans.begin(); Criteria criteria = sess.createCriteria(name); // filter if (filter != null && !filter.isEmpty()) { metaData = sess.getSessionFactory().getClassMetadata(name); Object value; Entry<Key, Object> entry; Iterator<Entry<Key, Object>> it = filter.entryIterator(); String colName; while (it.hasNext()) { entry = it.next(); colName = HibernateUtil.validateColumnName(metaData, CommonUtil.toString(entry.getKey())); Type type = HibernateUtil.getPropertyType(metaData, colName, null); value = entry.getValue(); if (!(value instanceof Component)) value = HibernateCaster.toSQL(type, value, null); if (value != null) criteria.add(Restrictions.eq(colName, value)); else criteria.add(Restrictions.isNull(colName)); } } // options boolean ignoreCase = false; if (options != null && !options.isEmpty()) { // ignorecase Boolean ignorecase = CommonUtil.toBoolean(options.get("ignorecase", null), null); if (ignorecase != null) ignoreCase = ignorecase.booleanValue(); // offset int offset = CommonUtil.toIntValue(options.get("offset", null), 0); if (offset > 0) criteria.setFirstResult(offset); // maxResults int max = CommonUtil.toIntValue(options.get("maxresults", null), -1); if (max > -1) criteria.setMaxResults(max); // cacheable Boolean cacheable = CommonUtil.toBoolean(options.get("cacheable", null), null); if (cacheable != null) criteria.setCacheable(cacheable.booleanValue()); // MUST cacheName ? // maxResults int timeout = CommonUtil.toIntValue(options.get("timeout", null), -1); if (timeout > -1) criteria.setTimeout(timeout); } // order if (!Util.isEmpty(order)) { if (metaData == null) metaData = sess.getSessionFactory().getClassMetadata(name); String[] arr = CommonUtil.toStringArray(order, ','); CommonUtil.trimItems(arr); String[] parts; String col; boolean isDesc; Order _order; //ColumnInfo ci; for (int i = 0; i < arr.length; i++) { parts = CommonUtil.toStringArray(arr[i], " \t\n\b\r"); CommonUtil.trimItems(parts); col = parts[0]; col = HibernateUtil.validateColumnName(metaData, col); isDesc = false; if (parts.length > 1) { if (parts[1].equalsIgnoreCase("desc")) isDesc = true; else if (!parts[1].equalsIgnoreCase("asc")) { throw ExceptionUtil.createException((ORMSession) null, null, "invalid order direction defintion [" + parts[1] + "]", "valid values are [asc, desc]"); } } _order = isDesc ? Order.desc(col) : Order.asc(col); if (ignoreCase) _order.ignoreCase(); criteria.addOrder(_order); } } // execute if (!unique) { rtn = HibernateCaster.toCFML(criteria.list()); } else { rtn = HibernateCaster.toCFML(criteria.uniqueResult()); } } catch (Throwable t) { throw CommonUtil.toPageException(t); } return rtn; }