我尝试将以下查询作为NativeSql查询执行,我发现它运行良好,没有任何错误,并且可以检索记录。 但是问题是Oracle提示LEADING无法识别。
当我复制查询并直接在SQL Developer中运行查询时,它可以很好地与提示配合使用,并且此结果的顺序与我从应用程序收到的结果的顺序不同。
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements006.htm#BABJIHCI
SELECT /*+ LEADING(e j) */ e.name, d.department FROM
employees e, departments d, job_history j
WHERE e.department_id = d.department_id
AND e.hire_date = j.start_date;
问题在于,提示LEADING的使用会被休眠默默地忽略,因此它产生的结果与不使用提示的顺序相同。那么问题是,为什么以及为什么应用程序会默默忽略提示LEADING?