将SQL结果转换为HQL时出现此异常。query.setResultTransformer(Transformers.aliasToBean(RateDTO.class)).list()
但是我已经在RateDTO类中为列flat_rate设置了setter和getter
private BigDecimal flatRate;
@Column(name="flat_rate")
public BigDecimal getFlatRate() {
return flatRate;
}
public void setFlatRate(BigDecimal flatRate) {
this.flatRate = flatRate;
}用于Mysql DB中的对应表。有谁能帮帮我。
发布于 2013-01-07 19:50:18
在调用query.list()之前尝试使用addScalar()查询对象
final String sql = "select * " + "from international_rate r " + "WHERE LEFT(:called, LENGTH(r.prefix)) = r.prefix " + "and r.valid_from <= :date AND ( r.Valid_to >= :date or r.Valid_to = 0)" + "and r.deleted = 0"; "
sess.createSQLQuery(sql)
.addScalar("flatRate", Hibernate.STRING) //like all properties need to Add
.setResultTransformer(Transformers.aliasToBean(RateDTO.class)).list();发布于 2013-09-17 20:26:11
你应该使用select *来使用select student.name as name;,它会再次抛出异常。查询中使用的别名应该与DTO类中的属性名相同。
https://stackoverflow.com/questions/14193786
复制相似问题