问题起因:
抛了异常:nested exception is org.hibernate.PropertyNotFoundException: Could not find setter for YEARMONTH on class。
对应的Model里确实没有属性YEARMONTH。 不过名为yearMonth的属性。
对应的查询sql: " select a.month_id as yearMonth, "
用这样的方式设置了ResultTransformer: q.setResultTransformer(new AliasToBeanResultTransformer(StatInfoForApply.class));
暂时绕过去:
换了ResultTransformer: q.setResultTransformer(new AliasToEntityMapResultTransformer());
再加形如result.setYearMonth(((BigDecimal)map.get("YEARMONTH")).longValue());的手动转换。
回过头来找原因:
createSQLQuery后,设置了AliasToBeanResultTransformer的ResultTransformer,要调用addScalar方法,加了addScalar方法后,跑通了。
接下来的追问:
addScalar后,对结果集的解析有什么影响?