2012-01-19 7 views
0

私は、休止状態(1ユーザー - >多数のクライアント)で1対多のリレーションシップを持っています。これは、3つのテーブルUser、Client、およびUser_Client_Mappingとしてデータベースにマッピングされます。休止状態で1対多のリレーションシップを設定する

ユーザーが自分のアプリケーションにログインしているとき、このユーザーに固有の、誕生日または記念日のあるクライアントを選択する必要があります。誕生日/記念日の選択は、ログインしたユーザーから行われます。

どのように私はHibernate 3を使ってこれを達成することができますか?

特定のユーザーに対応するすべてのクライアントを選択できます。 また、すべてのクライアント(すべてのユーザー)から生年月日/年齢日付に基づいて選択することができます

ただし、特定のユーザーのクライアントを選択して、誕生日/年齢日付基準に基づいて特定のクライアントを選択することはできません。

ありがとうございます!

答えて

0

あなたが両方を行うことができるしている場合は、単に2つのクエリを結合:

は、ユーザーのすべてのクライアントを選択します。

select c from User u inner join u.clients c 
where u.id = :id 

は、与えられたbirthDateを持つすべてのクライアントを選択します。

select c from Client c 
where c.birthDate = :birthDate 

両方の組み合わせ:

select c from User u inner join u.clients c 
where u.id = :id and c.birthDate = :birthDate 
関連する問題