問題起因:
拋了異常: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後,對結果集的解析有什麼影響?