0

我的查询有问题。我得到错误

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

我希望我的程序显示对供应商的所有订单。

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

我在代码中使用了以下术语:comanda 和 furnizor,它们表示订单和提供者。

我自己不知道如何解决这个问题,我非常感谢你帮助我。

4

1 回答 1

0

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

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

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

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

通过阅读文档了解 HQL 的工作原理。

于 2012-05-14T08:25:26.053 回答