Java 获取嵌套异常为org.hibernate.hql.ast.QuerySyntaxException的错误:应为联接的路径
我刚开始冬眠,我有一个疑问Java 获取嵌套异常为org.hibernate.hql.ast.QuerySyntaxException的错误:应为联接的路径,java,hibernate,Java,Hibernate,我刚开始冬眠,我有一个疑问 select * from Losa_App a inner join os_historystep os on a.app_ref_no = os.ref_id where os.step_name = '011' and app_status = 'R' or app_status = 'S' ; 当我在sqldeveloper上运行这个查询时,它会运行并给出结果。现在我将查询翻译成类似HBL的语言 StringBuf
select * from Losa_App a
inner join
os_historystep os
on
a.app_ref_no = os.ref_id
where
os.step_name = '011' and app_status = 'R' or app_status = 'S' ;
当我在sqldeveloper上运行这个查询时,它会运行并给出结果。现在我将查询翻译成类似HBL的语言
StringBuffer query = new StringBuffer();
List<String> lstObj = new ArrayList<String>();
query.append(" from ");
query.append(getClassName());
query.append(" a inner join "
// + WflWorkflowHistoryStep.class.getName()
+ " OS_HISTORYSTEP os with a.appRefNo = os.ref_id "
+ "where os.step_name = '011' and a.appStatus = 'R' or a.appStatus = 'S' ");
List<LosaApp> result = null;
try {
result = getHibernateTemplate().find(query.toString());
if (CollectionUtils.isNotEmpty(result) {
return result;
}
} catch (Exception e) {
String message = e.getMessage();
System.out.println();
}
return null;
为什么我会犯这个错误
谢谢您的HQL语法错误
作为
指定别名。例如:-Losa\u应用程序作为一个内部联接
,并完成了关联映射,那么您不需要提供on
子句a.app\u ref\u no=os.ref\u id
,则无需指定内部联接。Hibernate会处理好的
nested exception is org.hibernate.hql.ast.QuerySyntaxException: Path expected for
join! [ from com.thetasp.losa.data.LosaApp a inner join OS_HISTORYSTEP os with
a.appRefNo = os.ref_id where os.step_name = '011' and a.appStatus = 'R'
or a.appStatus = 'S' ]