@Entity
@Table(name="users")
public class User implements Serializable
{
private List<Request> sentRequest;
private List<Request> receivedRequest;
private Profile profile;
}
public List<Object> getUserProfiles(Integer userid)
{
query = em.createQuery(
"SELECT p from Profile p1,Profile p2 WHERE " +
"p1.user.sentRequest.sender.id (:id) NOT IN " +
" p2.user.receivedRequest.receiver.id and " +
"p1.user.id NOT IN (:id)"
).setParameter("id",userid);
上記のクエリを試してみましたが、コレクションを逆参照する不正な試みがスローされています。関係は、
User - Profile OneToOne および User - Request OneToManyです。
自分のプロファイルを除いて、リクエストを送信していないすべてのユーザー プロファイルを選択したいと考えています。