[英]HQL Subquery Query Select
当我执行此查询时,我总是收到太多列错误。
SELECT o FROM Overlay o WHERE ( :coordinate ) IN ELEMENTS(o.blocksCoordinates)
如果我在sql中执行此操作,则可以:
Select * from Overlay overlay0_ where (0,0) in (select x, y from ...
坐标是具有x和y值的简单嵌入式实体。
@ElementCollection
private Set<Coordinate> blocksCoordinates = new HashSet<Coordinate>();
我的协调中心实体:
@Embeddable
public class Coordinate implements Serializable {
private static final long serialVersionUID = -5866341829302555966L;
protected int x;
protected int y;
我究竟做错了什么?
反过来尝试:
select o from Overlay o left outer join o.blocksCoordinates as c where c = :coordinate
或使用with
关键字:
select o from Overlay o join o.blocksCoordinates as c with c = :coordinate
使用该查询应返回在c =坐标上成功进行连接的所有Overlay。
编辑:或者,尝试使用x和y值:
select o from Overlay o join o.blocksCoordinates as c with c.x = :x and c.y = :y
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.