2017-08-08 14 views
0

例外: 原因:java.sql.SQLException:オペランドには1列が含まれている必要があります 原因:org.hibernate。 exception.DataException:Hibernate:原因:java.sql.SQLException:オペランドには1列が含まれている必要があります

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 

私はパラメータに句で追加した後、私はこの例外を取得するために起こる:

av.id IN (:assesmentVersionID) 
次のように私が書いたのResultSet

HQLが抽出できませんでした

と私は私が間違っているところかしら

query.setParameterList("assesmentVersionID", assessmentVersionIDList); 

としてパラメータ値を設定!

+0

私はHibernateを使用しています.BatchPreparedStatementSetterは、JdbcTemplateクラスで使用されるバッチ更新コールバックインターフェイスです。関連性があるとは思わない? – NehalM

+0

ええ、ごめんなさい、コメントを削除しました – OutOfMind

答えて

0

は括弧を削除してください:

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 

これは動作するはずです、あまりにも(:assesmentVersionID)から括弧を削除しようとしていない場合。

問題が解決するかどうかを教えてください。

関連する問題