2017-07-21 8 views
0

静かな単純な結合文で問題が発生しました。HQL結合が機能しない

表Aと表Bがあります。表AにはidNumberがあります。 表Bはnumberです。 今、私は何idNumber=number

にこのテーブルを結合したいのです: -

残念ながら
A.executeQuery("Select a from A a inner JOIN B b ON a.idNumber=b.number") 

、私は結果として空のリストを取得しますが、それは間違っています。 誰かが私が間違っていることを知っていますか?

答えて

0

あなたはSQLクエリを実行しているようです。したがって、SQLクエリを実行するには、選択する列を定義する必要があります。

A.executeQuery("Select a.* from A a inner JOIN B b ON a.idNumber=b.number") // don't forget * after a 

PS。 hqlクエリでは、クラス構造を知る必要があります。 Hibernate Query Language(HQL)は、SQLに似たオブジェクト指向のクエリ言語ですが、テーブルやカラムで操作する代わりに、永続オブジェクトとそのプロパティで動作します。 クラスAのインスタンスがBであるとしましょう。次に、JOINクエリは次のようになります。

Select a from A a inner JOIN a.B 
0

Aは、B Bのインスタンスを持っている私はちょうど

A.executeQuery("Select a from A a inner JOIN a.package.name.B b where a.idNumber=b.number") 
+0

イベントa、package.name.B bを選択します。b.number = a.idNumber 空のリストを返します。サイズは1にする必要があります。 – Secondwave

0

を試みパッケージa.package.name にある問題は、一つ表のexternプラグインであり、それがなかったことでしたここに参加することができます。私は2つの要求をしなければならなかった。

関連する問題