以下查询有什么问题?它完全在pgadmin的sql编辑器中工作,但是当我将它添加到我的编程代码中时,它无法正常工作。我正在使用spring和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;
}
答案 0 :(得分:2)
您的查询细分之间缺少空格。正如你所说的那样:... 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)