2017-04-15 119 views
-1

以下查詢有什麼問題?它完全在pgadmin的sql編輯器中工作,但是當我將它添加到我的編程代碼中時,它不起作用。我正在使用spring和hibernate。Postgres查詢適用於SQL客戶端,但不適用於Hibernate

List<Object[]> category= null; 
    try{ 
     SQLQuery qry = session 
        .createSQLQuery("SELECT * FROM (mlm_placement_details bp INNER JOIN mlm_user_reg_data t ON t.USER_ID=bp.USER_ID" 
      + "WHERE (bp.USER_NAME) LIKE (:name)"); 
     qry.setParameter("name", "%" + userName + "%"); 
     qry.setMaxResults(100); 

     category = qry.list(); 

    session.flush(); 
    }catch (HibernateException e) { 
     logger.error(e); 
     errorCloseDBSession(); 
     e.printStackTrace(); 
     return null; 
    } 
+1

什麼錯誤?請粘貼跟蹤 – sisanared

+0

postgresql無法在輸入結束時提取resultset和postgresql語法錯誤 – Jiji

+1

刪除FROM'from mlm _...'not'from(mlm ...')後面的括號並且:將列名或單個值圓括號完全沒用 –

回答

2

您在查詢分段之間缺少空格。當你正在concatinating:... t.USER_ID=bp.USER_ID" + "WHERE ...

你可以試試這個:

SQLQuery qry = session 
        .createSQLQuery("SELECT * FROM mlm_placement_details bp INNER JOIN mlm_user_reg_data t ON t.USER_ID=bp.USER_ID " 
      + "WHERE (bp.USER_NAME) LIKE (:name)"); 

更新:也注意到了不必要的開括號(感謝@a_horse_with_no_name)

+0

FROM後面的圓括號還需要刪除 –

+0

括號是問題@ a_horse_with_no_name – Jiji

相關問題