【发布时间】:2018-01-16 01:00:31
【问题描述】:
例外: 引起:java.sql.SQLException:操作数应包含 1 列 原因:org.hibernate.exception.DataException:无法提取ResultSet
我写的HQL如下:
select sm from SystemMessage sm
left join sm.systemMessageMaps smrm
left join smrm.role r
left join smrm.projectGroup pg
left join smrm.assessmentVersion av
left join smrm.severity sms
where ( (r.id is NULL) and (pg.id is NULL) and (av.id IN (:assesmentVersionID) )
or(pg.code =:projectGroup and av.id IN (:assesmentVersionID) and r.id is NULL)
or(r.name =:roleName AND av.id IN (:assesmentVersionID) and pg.id is NULL)
or( r.name =:roleName and pg.code =:projectGroup AND av.id IN (:assesmentVersionID) )
) and
( ( sm.startDate is null or sm.startDate <= current_timestamp ) and ( sm.endDate is null or sm.endDate >= current_timestamp))
order by sms.priority,smrm.severityRank,sm.startDate
在将 in 子句添加到参数后,我碰巧得到了这个异常:
av.id IN (:assesmentVersionID)
我将参数值设置为
query.setParameterList("assesmentVersionID", assessmentVersionIDList);
我想知道我哪里出错了!
【问题讨论】:
-
我使用的是Hibernate,BatchPreparedStatementSetter是JdbcTemplate类使用的批量更新回调接口。听起来不相关吗?
-
是的,很抱歉,删除了评论