@Override public Object doInTransaction(TransactionStatus transactionStatus) { return sessionFactory.getCurrentSession() .createCriteria(PipelineState.class) .add(Restrictions.eq("pipelineName", pipelineName)) .setCacheable(false).uniqueResult(); } });
@Override public Object doInTransaction(TransactionStatus status) { PropertyProjection pipelineName = Projections.property("pipelineName"); Criteria criteria = sessionFactory.getCurrentSession().createCriteria(PipelineState.class).setProjection(pipelineName).add( Restrictions.eq("locked", true)); criteria.setCacheable(false); List<String> list = criteria.list(); return list; } });
@Override public VersionInfo findByComponentName(final String name) { return (VersionInfo) transactionTemplate.execute((TransactionCallback) transactionStatus -> sessionFactory.getCurrentSession() .createCriteria(VersionInfo.class) .add(Restrictions.eq("componentName", name)) .setCacheable(true).uniqueResult()); }
@Override public JobAgentMetadata load(final Long jobId) { return (JobAgentMetadata) transactionTemplate.execute((TransactionCallback) transactionStatus -> sessionFactory.getCurrentSession() .createCriteria(JobAgentMetadata.class) .add(Restrictions.eq("jobId", jobId)) .setCacheable(true).uniqueResult()); }
public Users findNotificationSubscribingUsers() { return (Users) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(User.class); criteria.setCacheable(true); criteria.add(Restrictions.isNotEmpty("notificationFilters")); criteria.add(Restrictions.eq("enabled", true)); return new Users(criteria.list()); }); }
public User findUser(final String userName) { return (User) transactionTemplate.execute((TransactionCallback) transactionStatus -> { User user = (User) sessionFactory.getCurrentSession() .createCriteria(User.class) .add(Restrictions.eq("name", userName)) .setCacheable(true).uniqueResult(); return user == null ? new NullUser() : user; }); }
public EnvironmentVariables load(final Long entityId, final EnvironmentVariableType type) { List<EnvironmentVariable> result = (List<EnvironmentVariable>) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(EnvironmentVariable.class).add(Restrictions.eq("entityId", entityId)).add( Restrictions.eq("entityType", type.toString())).addOrder(Order.asc("id")); criteria.setCacheable(true); return criteria.list(); }); return new EnvironmentVariables(result); }
private State getState(Session s, String name) { Criteria criteria = s.createCriteria( State.class ); criteria.add( Restrictions.eq( "name", name ) ); criteria.setCacheable( true ); return (State) criteria.list().get( 0 ); }
/** * Use a Criteria query - see FORGE-247 */ public List listEventsWithCriteria() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); List result = session.createCriteria(Event.class) .setCacheable(true) .list(); session.getTransaction().commit(); return result; }
/** * Use a Criteria query - see FORGE-247 */ public List listEventsWithCriteria() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); List result = session.createCriteria(Event.class) .setCacheable(true) .list(); session.getTransaction().commit(); return result; }
@Override public List<Offer> readOffersByAutomaticDeliveryType() { //TODO change this to a JPA criteria Criteria criteria = ((HibernateEntityManager) em).getSession().createCriteria(OfferImpl.class); Date myDate = getCurrentDateAfterFactoringInDateResolution(); Calendar c = Calendar.getInstance(); c.setTime(myDate); c.add(Calendar.DATE, +1); criteria.add(Restrictions.lt("startDate", c.getTime())); c = Calendar.getInstance(); c.setTime(myDate); c.add(Calendar.DATE, -1); criteria.add(Restrictions.or(Restrictions.isNull("endDate"), Restrictions.gt("endDate", c.getTime()))); criteria.add(Restrictions.or(Restrictions.eq("archiveStatus.archived", 'N'), Restrictions.isNull("archiveStatus.archived"))); criteria.add(Restrictions.eq("automaticallyAdded", true)); criteria.setCacheable(true); criteria.setCacheRegion("query.Offer"); return criteria.list(); }
public long enabledUserCount() { Long value = (Long) goCache.get(ENABLED_USER_COUNT_CACHE_KEY); if (value != null) { return value; } synchronized (ENABLED_USER_COUNT_CACHE_KEY) { value = (Long) goCache.get(ENABLED_USER_COUNT_CACHE_KEY); if (value == null) { value = hibernateTemplate().execute(session -> (Long) session.createCriteria(User.class).add(Restrictions.eq("enabled", true)).setProjection(Projections.rowCount()).setCacheable(true).uniqueResult()); goCache.put(ENABLED_USER_COUNT_CACHE_KEY, value); } return value; } }
private Criteria getCriteria(Session s) { Criteria crit = s.createCriteria( A.class, "anAlias" ); crit.add( Restrictions.naturalId().set( "name", "name1" ) ); crit.setFlushMode( FlushMode.COMMIT ); crit.setCacheable( true ); return crit; }
@Override public Plugin findPlugin(final String pluginId) { String cacheKey = cacheKeyForPluginSettings(pluginId); Plugin plugin = (Plugin) goCache.get(cacheKey); if (plugin != null) { return plugin; } synchronized (cacheKey) { plugin = (Plugin) goCache.get(cacheKey); if (plugin != null) { return plugin; } plugin = (Plugin) transactionTemplate.execute((TransactionCallback) transactionStatus -> sessionFactory.getCurrentSession() .createCriteria(Plugin.class) .add(Restrictions.eq("pluginId", pluginId)) .setCacheable(true).uniqueResult()); if (plugin != null) { goCache.put(cacheKey, plugin); return plugin; } goCache.remove(cacheKey); return new NullPlugin(); } }
@Override protected Object getResults(Session s, boolean isSingleResult) throws Exception { Criteria criteria = getCriteria( s ).setCacheable( getQueryCacheMode() != CacheMode.IGNORE ).setCacheMode( getQueryCacheMode() ); return ( isSingleResult ? criteria.uniqueResult() : criteria.list() ); } }
@Test public void testNaturalIdCriteria() { Session s = openSession(); s.beginTransaction(); Account u = new Account(new AccountId(1), "testAcct" ); s.persist( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); u = ( Account ) s.createCriteria( Account.class ) .add( Restrictions.naturalId().set( "shortCode", "testAcct" ) ) .setCacheable( true ) .uniqueResult(); assertNotNull( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); s.createQuery( "delete Account" ).executeUpdate(); s.getTransaction().commit(); s.close(); }
/** * Prepare the given Criteria object, applying cache settings and/or * a transaction timeout. * @param criteria the Criteria object to prepare * @see #setCacheQueries * @see #setQueryCacheRegion */ protected void prepareCriteria(Criteria criteria) { if (isCacheQueries()) { criteria.setCacheable(true); if (getQueryCacheRegion() != null) { criteria.setCacheRegion(getQueryCacheRegion()); } } if (getFetchSize() > 0) { criteria.setFetchSize(getFetchSize()); } if (getMaxResults() > 0) { criteria.setMaxResults(getMaxResults()); } ResourceHolderSupport sessionHolder = (ResourceHolderSupport) TransactionSynchronizationManager.getResource(obtainSessionFactory()); if (sessionHolder != null && sessionHolder.hasTimeout()) { criteria.setTimeout(sessionHolder.getTimeToLiveInSeconds()); } }
u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); assertNotNull( u ); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); assertNotNull( u );
/** * Prepare the given Criteria object, applying cache settings and/or * a transaction timeout. * @param criteria the Criteria object to prepare * @see #setCacheQueries * @see #setQueryCacheRegion */ protected void prepareCriteria(Criteria criteria) { if (isCacheQueries()) { criteria.setCacheable(true); if (getQueryCacheRegion() != null) { criteria.setCacheRegion(getQueryCacheRegion()); } } if (getFetchSize() > 0) { criteria.setFetchSize(getFetchSize()); } if (getMaxResults() > 0) { criteria.setMaxResults(getMaxResults()); } ResourceHolderSupport sessionHolder = (ResourceHolderSupport) TransactionSynchronizationManager.getResource(obtainSessionFactory()); if (sessionHolder != null && sessionHolder.hasTimeout()) { criteria.setTimeout(sessionHolder.getTimeToLiveInSeconds()); } }
Criteria criteria = s.createCriteria( Citizen.class ); criteria.add( Restrictions.naturalId().set( "ssn", "1234" ).set( "state", france ) ); criteria.setCacheable( true );