2012-02-11 3 views
0

私は2つのテーブルを持っています。デバイスには、デバイスの詳細(割り当てられている場合を含む)と、顧客に割り当てられたデバイスに関する追加情報が含まれているCustDeviceが含まれています。別のテーブルのデータに基づいてあるテーブルからデータをフェッチするための適切なHibernateクエリは何ですか?

特定の顧客に割り当てられている場合、デバイステーブルからレコードを選択する必要があります。

クエリで私の最初のナイーブ刺すであった:デバイスから

Device.deviceId = CustDevice.deviceIdとDevice.status = 2及びCustDevice.accountId = 33

明らかに動作しませんしかし、それは私がやろうとしている関係を説明しています。 ミックスにジョインを追加しようとしましたが、2つのテーブルを結合するための適切な構文がわかりません。

私が試した:装置DEVから

をdev.deviceId CustDeviceに参加ここdev.deviceId = CustDevice.deviceIdとdev.deviceStatus = 2及びCustDevice.accountId = 33

しかし、それはありませんいずれかの作業。 誰でもこのクエリで私を助けることができますか? ありがとう

答えて

0

これは左結合のように聞こえます。これは、すべての表と、それが参照されている場合は結合された表です。

ここは、Hibernateの左結合に関する記事です。

http://www.jairrillo.com/blog/2009/01/29/how-to-use-left-join-in-hibernate-criteria/

+0

これはあまり役に立ちませんでした。私は以前に "デバイスdevからdev.deviceId CustDeviceに参加"することができましたが、条件を追加するとそのようにはなりません。また、これは、Deviceテーブルだけでなく、両方のテーブルの列を返します。 – Burferd

関連する問題