Hibernate Return integer value Hibernate Return integer value spring spring

Hibernate Return integer value


Use the uniqueResult() method in Query. see here for an example or read the api here.

Here is an example. Replace the place holders as need to use them.

    sessionFactory = getHibernateTemplate().getSessionFactory();    Session session = sessionFactory.getCurrentSession();    Query query = session            .createQuery("select value from table where ...");    query.setParameters("param1", value1);    result = (Type) query.uniqueResult();


You could do something like:

 String sql = "select count(*) from table where ..."; BigDecimal count = (BigDecimal) hibernateTemplate.execute(   new HibernateCallback() {     public Object doInHibernate(Session session) throws HibernateException {     SQLQuery query = session.createSQLQuery(sql);     return (BigDecimal) query.uniqueResult();    }}); return count;


Here is another way using addScalar:

Query query = session.createQuery("select value from table where param1 = :param1").addScalar("value", Type);query.setParameters("param1", value1);result = (Type) query.uniqueResult();

Example of String:

Query query = session.createQuery("select value from table where param1 = :param1").addScalar("value", StandardBasicTypes.STRING);query.setParameters("param1", value1);result = (String) query.uniqueResult();