2015-04-17 45 views
0

我在下面的查詢休眠任何人都可以在hibernate查詢中找到錯誤嗎?

session.createQuery("FROM RegionFile T1 WHERE (T1.action = 'MODIFY' or T1.action = 'CREATE' or (T1.action = 'NONE' " + 
         "AND T1.docid NOT IN (SELECT T2.docid FROM RegionFile T2 WHERE T2.action in ('MODIFY','DELETE')))) " + 
         "AND T1.rgndoc like '%" + dgId + "%'") 

但是,我得到以下錯誤:

查詢語法異常

什麼我錯在這裏做?

回答

0

我想通過關注您的問題來提出建議。 (「FROM區域文件T1 WHERE(T1.action ='MODIFY'或T1.action ='CREATE'or(T1.action ='NONE'」+「AND T1.docid NOT IN(SELECT T2.docid FROM RegionFile T2 WHERE T2.action in('MODIFY','DELETE')))「+」AND T1.rgndoc like'%「+ a +」%')「)

1
I tried in MySql database and it successfully execute have used below query...please try again and check carefully spaces. 

Query query = session.createQuery("FROM Region T1 WHERE (T1.action = 'MOD' or T1.action = 'CRT' or (T1.action = 'NON' " + 
          "AND T1.id NOT IN (SELECT T2.id FROM Region T2 WHERE T2.action in ('MOD','DEL')))) " + 
          "AND T1.rgndoc like '%" + dgId + "%'");   
      List<Region> list = query.list(); 
      Iterator<Region> itr = list.iterator(); 
      System.out.println("before calling"); 
      while(itr.hasNext()) 
       System.out.println(itr.next().getAction()); 
相關問題