@Override @SuppressWarnings({"unchecked", "deprecation"}) public <T> List<T> findByExample( @Nullable final String entityName, final T exampleEntity, final int firstResult, final int maxResults) throws DataAccessException { Assert.notNull(exampleEntity, "Example entity must not be null"); return nonNull(executeWithNativeSession((HibernateCallback<List<T>>) session -> { Criteria executableCriteria = (entityName != null ? session.createCriteria(entityName) : session.createCriteria(exampleEntity.getClass())); executableCriteria.add(Example.create(exampleEntity)); prepareCriteria(executableCriteria); if (firstResult >= 0) { executableCriteria.setFirstResult(firstResult); } if (maxResults > 0) { executableCriteria.setMaxResults(maxResults); } return executableCriteria.list(); })); }
@Override @SuppressWarnings({"unchecked", "deprecation"}) public <T> List<T> findByExample( @Nullable final String entityName, final T exampleEntity, final int firstResult, final int maxResults) throws DataAccessException { Assert.notNull(exampleEntity, "Example entity must not be null"); return nonNull(executeWithNativeSession((HibernateCallback<List<T>>) session -> { Criteria executableCriteria = (entityName != null ? session.createCriteria(entityName) : session.createCriteria(exampleEntity.getClass())); executableCriteria.add(Example.create(exampleEntity)); prepareCriteria(executableCriteria); if (firstResult >= 0) { executableCriteria.setFirstResult(firstResult); } if (maxResults > 0) { executableCriteria.setMaxResults(maxResults); } return executableCriteria.list(); })); }
@Test public void testSimpleQBE() throws Exception { deleteData(); initData(); Session s = openSession(); Transaction t = s.beginTransaction(); Componentizable master = getMaster("hibernate", "open sourc%", "open source1"); Criteria crit = s.createCriteria(Componentizable.class); Example ex = Example.create(master).enableLike(); crit.add(ex); List result = crit.list(); assertNotNull(result); assertEquals(1, result.size()); t.commit(); s.close(); }
assertTrue( map.get( "$type$" ).equals( "TestMap" ) ); int size = s.createCriteria("TestMap").add( Example.create(map) ).list().size(); assertTrue( size == 1 ); s.getTransaction().commit();
@Test public void testExcludingQBE() throws Exception { deleteData(); initData(); Session s = openSession(); Transaction t = s.beginTransaction(); Componentizable master = getMaster("hibernate", null, "ope%"); Criteria crit = s.createCriteria(Componentizable.class); Example ex = Example.create(master).enableLike() .excludeProperty("component.subComponent"); crit.add(ex); List result = crit.list(); assertNotNull(result); assertEquals(3, result.size()); master = getMaster("hibernate", "ORM tool", "fake stuff"); crit = s.createCriteria(Componentizable.class); ex = Example.create(master).enableLike() .excludeProperty("component.subComponent.subName1"); crit.add(ex); result = crit.list(); assertNotNull(result); assertEquals(1, result.size()); t.commit(); s.close(); }
@Test @SkipForDialect( value = SybaseASE15Dialect.class, jiraKey = "HHH-4580") public void testJunctionNotExpressionQBE() throws Exception { deleteData(); initData(); Session s = openSession(); Transaction t = s.beginTransaction(); Componentizable master = getMaster("hibernate", null, "ope%"); Criteria crit = s.createCriteria(Componentizable.class); Example ex = Example.create(master).enableLike(); crit.add(Restrictions.or(Restrictions.not(ex), ex)); List result = crit.list(); assertNotNull(result); assertEquals(2, result.size()); t.commit(); s.close(); }
t = s.beginTransaction(); Master m1 = (Master) s.createCriteria(Master.class) .add( Example.create(m).enableLike().ignoreCase().excludeProperty("bigDecimal") ) .uniqueResult(); assertTrue( m1.getOtherMaster()==m1 ); assertTrue( m1==null ); m1 = (Master) s.createCriteria(Master.class) .add( Example.create(m).excludeProperty("bigDecimal") ) .createCriteria("otherMaster") .add( Example.create(m).excludeZeroes().excludeProperty("bigDecimal") ) .uniqueResult(); assertTrue( m1.getOtherMaster()==m1 ); Master m2 = (Master) s.createCriteria(Master.class) .add( Example.create(m).excludeNone().excludeProperty("bigDecimal") ) .uniqueResult(); assertTrue( m2==m1 ); m.setName(null); m2 = (Master) s.createCriteria(Master.class) .add( Example.create(m).excludeNone().excludeProperty("bigDecimal") ) .uniqueResult(); assertTrue( null == m2 );
public List findByExample(Object example, String condition, boolean enableLike) { Criteria ec = this.getCurrentSession().createCriteria(example.getClass()); if (enableLike) ec.add(Example.create(example).enableLike()); else ec.add(Example.create(example)); if (condition != null && !condition.equals("")) { String newCondition = condition.replaceAll("`", "'"); ec.add(Restrictions.sqlRestriction(newCondition)); } return ec.list(); }
public List findByExample(Object example) { return this.getCurrentSession().createCriteria(example.getClass()).add(Example.create(example)).list(); }
public Object getMaxByExample(final Object exampleEntity, final String maxProperty, final String condition, final boolean enableLike) { Criteria executableCriteria = this.getCurrentSession().createCriteria(exampleEntity.getClass()); executableCriteria.setProjection(Projections.max(maxProperty)); if (enableLike) { executableCriteria.add(Example.create(exampleEntity).enableLike()); } else { executableCriteria.add(Example.create(exampleEntity)); } if (condition != null && !condition.equals("")) { String newCondition = condition.replaceAll("`", "'"); executableCriteria.add(Restrictions.sqlRestriction(newCondition)); } return executableCriteria.uniqueResult(); } }
public Object doInHibernate(Session session) throws HibernateException { Criteria c = session.createCriteria(example.getClass()); c.add(Example.create(example)); parseFilter(c, filter); return c.list(); } });
/** * Query by example. */ protected List<E> query(E example) { long startTime = System.currentTimeMillis(); Criteria criteria = distinctCriteria(); List<E> list = criteria.add(Example.create(example)).list(); LOG.trace("Query for {} by {} (example). Runtime: {}", getEntityType(), criteria, System.currentTimeMillis() - startTime); return list; }
@Override @SuppressWarnings("unchecked") public List<T> findByExample(final T instance) { LOG.debug(FIND_BY_EXAMPLE.getMsg(), className); final List<T> results = createCriteria().add(create(instance)).list(); LOG.debug(FIND_BY_EXAMPLE_SUCCESS.getMsg(), className, results.size()); return results; }
@Override @SuppressWarnings("unchecked") public List<ISoapBoxEntity> find(ISoapBoxEntity entity) { EntityManager manager = ConnectionDB.getManager(); manager.clear(); Session sessao = (Session) manager.getDelegate(); Example example = Example.create(entity); example.excludeZeroes(); Criteria criteria = sessao.createCriteria(entity.getClass()); criteria.add(example); return criteria.list(); }
@Transactional public Integer findCountByRuleActionRunLogBean(RuleActionRunLogBean ruleActionRunLog) { Long k = (Long) getCurrentSession().createCriteria(domainClass()).add(Example.create(ruleActionRunLog)).setProjection(Projections.rowCount()).list() .get(0); return k.intValue(); }
public Object doInHibernate(Session session) throws HibernateException, SQLException { Example example = Example.create(arg).ignoreCase(); Criteria crit = session.createCriteria(clazz); getHibernateTemplate().applySettings(crit); crit.add(example); crit.setMaxResults(1); List results = crit.list(); if (results.size() > 0) { return results.get(0); } return null; } });
@Override public <E> List<E> order(E entity, Map<String, Object> orders, int firstResult, int maxResults) { return queryCriteria(entity.getClass(), getOrder(entity.getClass(), orders).add(Example.create(entity)), firstResult, maxResults); }
public Object doInHibernate(Session session) throws HibernateException, SQLException { Example example = Example.create(arg).ignoreCase(); Criteria crit = session.createCriteria(clazz); getHibernateTemplate().applySettings(crit); crit.add(example); Map argsMap = (arguments.length > 1 && (arguments[1] instanceof Map)) ? (Map) arguments[1] : Collections.EMPTY_MAP; GrailsHibernateUtil.populateArgumentsForCriteria(application,clazz, crit, argsMap); return crit.list(); } });
public static Example getExampleCriterion(Object entity, String[] excludePropertes, MatchMode mode) { Example example = Example.create(entity).setPropertySelector(new NotEmptyPropertySelector()); if (null != mode) { example.enableLike(mode); } if (null != excludePropertes) { for (int i = 0; i < excludePropertes.length; i++) { example.excludeProperty(excludePropertes[i]); } } return example; }