查询为:
select e from Customer
join e.Address ad where ad.Id =:Id and :houseNo in (ad.houseNos);我正在正确地设置查询中的所有参数,但我得到了语法错误异常。
所以,我的问题是,我们可以将houseNo作为输入参数传递吗?查询将选择客户的地址,他的房子应该是该街道地址的房子之一。
数据模型:-- Customer是主表,它有一个地址列表,而Address又有一个门牌号列表。我有住址身份证和门牌号。因此,我需要获得客户的详细信息,谁住在指定地址的指定房号中。
发布于 2016-10-21 20:52:30
我想你搞错了三件事:
IN似乎是以相反的方式使用的(它必须是attribute in (values),而你正在尝试attribute in (values)试试这个:
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);希望能有所帮助。
发布于 2016-10-25 14:25:18
在做了进一步的研究后,我发现这是不可能的。我们可以使用嵌套查询来处理被询问的场景。
https://stackoverflow.com/questions/40176673
复制相似问题