我的查询中存在问题。 我收到了错误
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,它们指的是订单和提供商。
我无法弄清楚如何解决问题,我非常感谢你帮助我。
答案 0 :(得分:0)
HQL查询不是以表和列的形式表示,而是以实体及其持久字段/属性和关联表示。仅当Order
实体具有名为idprovider
的持久字段/属性时,上述查询才有效。
它可能与Provider
实体有一个toOne关联,因此查询应
from Order o where o.provider.id like '2%'
但这只是猜测,因为你没有提供Order
实体的代码和映射。
通过阅读the documentation了解HQL的工作原理。