Hibernate Return integer value

34,770

Solution 1

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();

Solution 2

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;
Share:
34,770
vikas27
Author by

vikas27

Updated on July 05, 2022

Comments

  • vikas27
    vikas27 almost 2 years

    I am new to hibernate . I want to pass 2 column values and want hibernate to return primary key of that table.

    String queryString = "select perId from Permission where document.docId=1 and user.id=2";
    return getHibernateTemplate().find(queryString);
    

    But this method return List. How can i return int value.