晚安,
我正在使用Grails,我正在尝试进行HQL查询
我有一个对象机会,在其中有一个对象实体,在实体内部有一个标题集合。每个Title对象可以是main还是not(main是一个布尔字段,显示哪个标题是默认标题)。所以我正在做的查询是:
从Opportunity中选择机会作为机会加入opportunity.entity.titles as entityTitle with entityTitle.isMain为true
但是此查询失败并显示以下消息:
org.hibernate.hql.ast.InvalidWithClauseException:with子句表达式未引用与子句相关联的from子句元素。
我尝试添加实体和标题表但仍然失败。如果我删除with子句它可以正常工作,但我需要过滤标题。
感谢。
答案 0 :(得分:0)
我发现了问题。首先,我必须将实体加入商机,然后将标题加入商机。所以查询是这样的:
select opportunity from Opportunity as opportunity
join opportunity.entity activeEntity
with activeEntity.isActive is true
join activeEntity.titles entityTitle
with entityTitle.isActive is true
答案 1 :(得分:0)
尝试此查询:
select distinct op from Opportunity as op
inner join op.entity as ent
inner join ent.titles as tit
with tit.isMain is true