Hibernate + 2nd level cache bug

Recently, I have come across a nasty bug. When Hibernate executes a cacheable query and applying a ResultTransformer on a result of that query, java.lang.ClassCastException is thrown. session.createCriteria(RateEntity.class) .add(Restrictions.eq(CURR_ID, criteria.getCurrency())) .add(Restrictions.eq(TYPE, criteria.getRateType().name())) .add(Restrictions.gt(TS_CRT, criteria.getFromTime().toDate())) .setProjection(Projections.projectionList() .add(Projections.property(TS_CRT), TIME_DTO_PROPERTY) .add(Projections.property(RATE), RATE_DTO_PROPERTY)) .addOrder(Order.asc(TS_CRT)) .setCacheable(true) .setResultTransformer(Transformers.aliasToBean(RateDTO.class)) .list(); It seems that the ResultTransformer is applied on the result before putting … Read more