Итак, я создаю подзапрос, который получает список значений идентификатора, затем основной запрос получает все необходимые значения и добавляет порядок.
Что у меня есть это:
ReportQuery querySub = new ReportQuery(Predmet.class, generatedExpression);
querySub.addAttribute("m_id");
DatabaseRow row = new DatabaseRow();
querySub.prepareCall(getSession(), row);
// This part is the problem
String sql = querySub.getTranslatedSQLString(getSession(), row);
Проблема с этим кодом в том, что он не возвращает TranslatedSQLString, он возвращает тот же результат, что и querySub.getSQLString()
. Теперь во всем примере кода, который я видел, они либо инстанцировали строку как новый объект, либо не удосужились написать, откуда они получили ссылку, но в любом случае это не работает (проблема версии TopLink?). Я предполагаю, что мне нужно заполнить объект DatabaseRow самостоятельно, но я не могу найти ни одного примера в Интернете.