2012-05-14 8 views
0

質問に問題があります。 は、私はエラー結果を表示する際にエラーが発生しました。外部キーは有罪ですか?

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

を取得し、クエリを持つ方法は次のとおりです。

idproviderはテーブル Orderの外部キーである
private void runQueryBasedOnIdProvider(){ 
    executeHQLQuery("from Order c where c.idprovider like '" + idProviderTextField.getText() + "%'"); 

} 

私のプログラムで、プロバイダーになされたすべての注文を表示したい。

コードhereがあります。コードを残して申し訳ありませんが、私はここに新しいです、私はここにそれを置くことができませんでした。

私は以下の用語を使用しました:comandaとfurnizorはコード内にあり、注文と提供者を意味します。

私は自分自身でこの問題の解決方法を理解することはできません。私は私に助けてくれてありがとうございます。

答えて

0

HQLクエリは、テーブルとカラムに関して表現されるのではなく、エンティティとその永続フィールド/プロパティと関連付けに関して表現されます。上記のクエリは、Orderエンティティにidproviderという永続フィールド/プロパティがある場合にのみ有効です。

それはおそらくProviderエンティティにトゥーンの関連性を持っており、クエリは、このように

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

でなければなりません。しかし、あなたがOrderエンティティのコードとのマッピングを提供していませんでしたので、これは、唯一の推測です。

the documentationを読むと、HQLの仕組みを学ぶことができます。

+0

これはコード – alin

+0

です。私はコードとマッピングを提供しましたが、それがなぜ機能していないのか分かります。私を助けてくれてありがとう! – alin

関連する問題