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