Estoy migrando algunos de mis estados de cuenta hql a Criterios ahora me estoy imaginando un problema: La propiedad de la entidad es tipo entero pero necesito un me gusta con búsqueda de comodines, por lo que en hql HagoHibernate Criterios, entero y "me gusta"
session.createQuery("from P1 where id like :id").setString("id", "%"+s+"%")
No hay problema, Hibernate lanza String a Integer.
Si intento esto en Criteria, solo me dan un ClassCastException
String cannot be cast to Integer
Criteria crit = sessionFactory.getCurrentSession().createCriteria(P1.class);
crit.add(Restrictions.like("id",s)).addOrder(Order.asc("id")).setMaxResults(maxResults);
¿Por qué manejar Hibernate ambas situaciones de manera diferente?
Esto no tiene sentido. El motor de consultas en sí puede gestionar esto, pero el motor de criterios no. Parece que hay un error en el Impl de Citeria. – onigunn