0

I have this code

              String sql = "distinct from com.zrsol.admin.shared.StatesProvinces";
    Session session = sessionFactory.openSession();
    Query query = session.createQuery(sql); 
    List rsList = query.list();
    for (Iterator it = rsList.iterator();

    it.hasNext();) {
        statesProvinces = (StatesProvinces) it.next();
        allStates.add(statesProvinces);
        String state = statesProvinces.getState();
        states.add(state);
    }
    return states;
}

Error i am getting : java.lang.IllegalArgumentException: node to traverse cannot be null!

If i remove this "distinct "from the query the error gone , but i am getting multple states, where i want a distinct state

Thanks

junaidp
  • 9,771
  • 28
  • 85
  • 133

2 Answers2

0
"select distinct(state) from com.zrsol.admin.shared.StatesProvinces state";
Firo
  • 29,374
  • 4
  • 54
  • 89
0
Here's a snippet of hql that we use. (Names have been changed to protect identities)

String queryString = "select distinct f from Foo f inner join foo.bars as b" +
                " where f.creationDate >= ? and f.creationDate < ? and b.bar = ?";
        return getHibernateTemplate().find(queryString, new Object[] {startDate, endDate, bar});

[Reference][1]


  [1]: http://stackoverflow.com/questions/263850/how-do-you-create-a-distinct-query-in-hql
Sankalp
  • 1,894
  • 5
  • 27
  • 37