首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.hibernate.PropertyNotFoundException:在类dk.comtalk.billing.server.rating.db.RateDTO上找不到flat_rate的setter

问org.hibernate.PropertyNotFoundException:在类dk.comtalk.billing.server.rating.db.RateDTO上找不到flat_rate的setter
EN

Stack Overflow用户
提问于 2013-01-07 18:13:40
回答 2查看 5.1K关注 0票数 3

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

但是我已经在RateDTO类中为列flat_rate设置了setter和getter

代码语言:javascript
复制
private BigDecimal flatRate;

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

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

用于Mysql DB中的对应表。有谁能帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-07 19:50:18

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

代码语言:javascript
复制
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();
票数 2
EN

Stack Overflow用户

发布于 2013-09-17 20:26:11

你应该使用select *来使用select student.name as name;,它会再次抛出异常。查询中使用的别名应该与DTO类中的属性名相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14193786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档