Я попытался выполнить следующий запрос Oracle с помощью JdbcTemplate в Java:
select RESOURCE_ID
from REPRO_PRINTING_JOB
where (USER_ID=? and PRINTING_CENTER_ID=?)
group by RESOURCE_ID
union all
select RESOURCE_ID
from REPRO_PRINTING_JOB_OLD
where (USER_ID=? and PRINTING_CENTER_ID=? and STATE='CM')
group by RESOURCE_ID
Запрос отлично работает в браузере запросов Oracle, но он не работает во время выполнения в Java.Что может быть источником этой проблемы?Я слышал что-то о Jdbc не может обрабатывать с учетом регистра.Это правда?
ДОБАВЛЕННЫЙ КОД JAVA (ИСПРАВЛЕНО): я вызываю запрос с помощью getStatement (), который получает запрос из внешнего источника (файла свойств), как показано ниже:
public List<PrintingJob> getPrintingJobsByCreatedUserId(String createdUserId, String userId) {
if(log.isDebugEnabled()) {
log.debug("getReportItemsByUserId(" + createdUserId + "," + userId + ")");
}
try {
System.out.println("getPrintingJobsByResourceId : createdUserId :"+createdUserId+",userId : "+userId);
return getJdbcTemplate().query(getStatement("gen.report.userid"),
new Object[]{createdUserId, userId, createdUserId, userId},
new PrintingJobMapper());
} catch (DataAccessException ex) {
log.error("Error executing query: " + ex.getClass() + ":" + ex.getMessage());
return null;
}
}