sessionFactory = getHibernateTemplate().getSessionFactory(); Session session = sessionFactory.getCurrentSession(); Query query = session .createQuery("select value from table where ..."); query.setParameters("param1", value1); result = (Type) query.uniqueResult();
public TypedQuery<T> setParameters(Object[] values, Type[] types) throws HibernateException { query.setParameters(values, types); return this; }
@Override public Query setParameters(Object[] objects, Type[] types) { return query.setParameters(objects, types); }
@Override public Query setParameters(final Object[] values, final Type[] types) throws HibernateException { return query.setParameters(values, types); }
public Object doInHibernate(Session session) throws HibernateException { String search = basepath.replaceAll("([A%_])", "A$1"); //$NON-NLS-1$ //$NON-NLS-2$ return session .createQuery( "from RWikiCurrentObjectImpl as r " //$NON-NLS-1$ + "where r.name like concat(?,'%') escape 'A' " //$NON-NLS-1$ + "and r.version >= ? " //$NON-NLS-1$ + "order by r.version desc, r.name asc") //$NON-NLS-1$ .setParameters(new Object[] { search, time }, new Type[] { Hibernate.STRING, Hibernate.DATE }) .list(); } };
//sessionFactory = getHibernateTemplate().getSessionFactory(); Session session = getSessionFactory().getCurrentSession(); Query query = session.createQuery("select value from table where ..."); query.setParameters("param1", value1); result = (Type) query.uniqueResult(); //The type is you desired result type. //test for null here if needed
public Object doInHibernate(Session session) throws HibernateException { return session .createQuery( "select distinct r " //$NON-NLS-1$ + " from RWikiCurrentObjectImpl as r, " //$NON-NLS-1$ + " RWikiCurrentObjectContentImpl as c " //$NON-NLS-1$ + " where r.realm = ? and (" //$NON-NLS-1$ + " lower(r.name) like ? or " //$NON-NLS-1$ + " lower(c.content) like ? " //$NON-NLS-1$ + expression.toString() + " ) and " //$NON-NLS-1$ + " r.id = c.rwikiid " //$NON-NLS-1$ + " order by r.name ").setParameters( //$NON-NLS-1$ criteriaList.toArray(), types).list(); } };
Query query = session.createQuery("select value from table where param1 = :param1").addScalar("value", StandardBasicTypes.STRING); query.setParameters("param1", value1); result = (String) query.uniqueResult();
Query query = session.createQuery("select value from table where param1 = :param1").addScalar("value", Type); query.setParameters("param1", value1); result = (Type) query.uniqueResult();
/** * Setup a query with parameters and other configurations. * @param query * @param paramValues * @param paramTypes * @param offset * @param limit */ private void setupQuery(Query query, Object[] paramValues, Type[] paramTypes, Integer offset, Integer limit){ if (paramValues != null && paramTypes != null){ query.setParameters(paramValues, paramTypes); } if (offset != null){ query.setFirstResult(offset); } if (limit != null){ query.setMaxResults(limit); } }