查询是:
foo
我正在设置查询中的所有参数,但我收到语法错误异常。
所以,我的问题是我们可以将select e from Customer
join e.Address ad where ad.Id =:Id and :houseNo in (ad.houseNos);
作为输入参数传递吗?
查询将选择客户的地址,他的房子应该是该街道地址的房屋之一。
数据模型: - 客户是主表,其中包含地址列表,而地址则包含房屋号列表。我有地址id和房子号码。因此,我需要获取居住在指定房屋中的客户详细信息。
答案 0 :(得分:1)
我认为你错了三件事:
IN
似乎以相反的方式使用(必须是attribute in (values)
而您正在尝试values in (attribute)
试试这个:
select e from Customer as e
join e.address as ad // I assume address is your attribute and is declared as address (not Address), so it starts with lowercase
where ad.id = :Id and ad.houseNos in (:houseNo);
希望它有所帮助。
答案 1 :(得分:0)
在做了一些研究之后,我发现这是不可能的。我们可以使用嵌套查询处理问题场景。