所以我正在做的是创建一个获取 ID 值列表的子查询,然后主查询获取所有必要的值并添加排序。
我所拥有的是:
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()
. 现在,在我看到的所有示例代码中,他们要么将 row 实例化为新对象,要么不费心从获得引用的位置写入,但无论如何,这不起作用(TopLink 版本问题?)。我猜我需要自己填充 DatabaseRow 对象,但我在网上找不到任何示例。