iReport和Hibernate。。。
好的,我已经启动并运行了iReport,现在我可以在其中运行HQL查询,它将取回对象,并将它们放在报表检查器的字段部分iReport和Hibernate。。。,hibernate,hql,ireport,Hibernate,Hql,Ireport,好的,我已经启动并运行了iReport,现在我可以在其中运行HQL查询,它将取回对象,并将它们放在报表检查器的字段部分 我真的需要平展所有查询,以便只返回一个“级别”的实际数据值,而不返回实体对象吗?我希望返回对象并在报告中显示它们的toString(),否则HQL看起来太复杂了,让我很难受。我想您可以使用这些对象。例如,如果您有字段父,则可以使用“father.getFather().getFather().getName()”获取当前行的祖父的名称。需要注意的一点是装载类型。它必须是急切的(
我真的需要平展所有查询,以便只返回一个“级别”的实际数据值,而不返回实体对象吗?我希望返回对象并在报告中显示它们的toString(),否则HQL看起来太复杂了,让我很难受。我想您可以使用这些对象。例如,如果您有字段父,则可以使用“father.getFather().getFather().getName()”获取当前行的祖父的名称。需要注意的一点是装载类型。它必须是急切的(而不是懒惰的),否则数据将无法正确加载 编辑: Joshua,我们可以在文本字段中放入任何java代码:
<textFieldExpression class="java.lang.String"><![CDATA[$P{samples}.size() < 2 ? "" : ((br.com.laboroil.report.bean.Sample) $P{samples}.get(1)).getCode()]]></textFieldExpression>
但我仍然需要其中的getName()来获取实际名称,因为我无法在iReport中执行getName(),所以我必须在hql查询中执行。我的数据深深地埋藏在我的物体里。。。