0

I want to write a hql for like on long datatype field but I'm getting error java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long

String hql = "SELECT ... WHERE ID like :searchParam";
Query query = getSession().createQuery(hql);
query.setParameter("searchParam", "%" + searchParam + "%");
data =  query.list();

// ID is of type long

1 Answers1

0

You can cast the Long to a String:

String hql = "SELECT ... WHERE cast(ID as String) like :searchParam";

StuPointerException
  • 7,117
  • 5
  • 29
  • 54