显示结果时出错。外国人有罪吗?

时间:2012-05-14 08:14:37

标签: hibernate

我的查询中存在问题。 我收到了错误

org.hibernate.QueryException: could not resolve property: idprovider of: sakila.entity.Order [from sakila.entity.Order c where c.idprovider like '2%']

,查询方法是:

private void runQueryBasedOnIdProvider(){
    executeHQLQuery("from Order c where c.idprovider like '" + idProviderTextField.getText() + "%'" );

}

其中idprovider是表Order中的外键。

我希望我的程序显示向提供商发出的所有订单。

您可以找到代码here。很抱歉把代码放在那里,但我是新来的,我不能把它放在这里。

我使用了以下术语:代码中的comanda和furnizor,它们指的是订单和提供商。

我无法弄清楚如何解决问题,我非常感谢你帮助我。

1 个答案:

答案 0 :(得分:0)

HQL查询不是以表和列的形式表示,而是以实体及其持久字段/属性和关联表示。仅当Order实体具有名为idprovider的持久字段/属性时,上述查询才有效。

它可能与Provider实体有一个toOne关联,因此查询应

from Order o where o.provider.id like '2%'

但这只是猜测,因为你没有提供Order实体的代码和映射。

通过阅读the documentation了解HQL的工作原理。