2

好的,我已经启动并运行了 iReport,现在我可以在其中运行 HQL 查询,它会取回对象,并将它们放在报告检查器的字段部分中。

我真的需要展平所有查询,以便只返回一个“级别”的实际数据值,而不是我的实体对象吗?我宁愿只返回对象并将它们的 toString() 显示在报告上,否则 HQL 似乎太复杂以至于难倒我。

4

1 回答 1

2

我认为您可以使用这些对象。例如,如果您有一个字段父亲,您可以使用“father.getFather().getFather().getName()”来获取当前行的祖父的名字。需要注意的一件事是加载类型。它必须是 EAGER(而不是 LAZY),否则数据将不会被适当地加载。

编辑:约书亚,我们可以将我们想要的任何 java 代码放入 textField 中:

<textFieldExpression   class="java.lang.String"><![CDATA[$P{samples}.size() < 2 ? "" : ((br.com.laboroil.report.bean.Sample) $P{samples}.get(1)).getCode()]]></textFieldExpression>
于 2009-05-06T18:10:55.800 回答