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 に答える