3

SQL将结果转换为 时出现此异常HQLquery.setResultTransformer(Transformers.aliasToBean(RateDTO.class)).list()

但是我已经为课堂上的列设置了设置器和flat_rate获取RateDTO

private BigDecimal flatRate;

    @Column(name="flat_rate")
public BigDecimal getFlatRate() {
    return flatRate;
}   

public void setFlatRate(BigDecimal flatRate) {
    this.flatRate = flatRate;
}

中的对应表Mysql DB。谁能帮帮我吗 。

4

2 回答 2

2

在调用之前尝试使用addScalar()来查询对象query.list()

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-01-07T11:50:18.160 回答
0

您应该使用select student.name as name;using select *will 再次引发异常。您在查询中使用的别名应与 DTO 类中的属性名称相同。

于 2013-09-17T12:26:11.017 回答